ORA-01747: 01747, 00000, "invalid user.table.column, table.column, or column specification"
Looks like due to being called in the subroutine, your SQL text is getting munged-- have you tried running the script with DBI_TRACE=1 set in the environment so you can see what's going on? SRH -- SRH -----Original Message----- From: Neibarger Scott H [mailto:[EMAIL PROTECTED]] Sent: 28 January 2003 15:48 To: '[EMAIL PROTECTED]' Subject: [dbi] DBD-Oracle error message Greetings, I am encountering a strange problem with DBD-Oracle-1.12 with DBI-1.20, or DBI-1.32 on Solaris 8 with two different versions of Perl: 5.6.1 and 5.8.0 respectively. I have created a background process that performs a few tasks, which include updating a remote oracle table used for reporting purposes. The process is simple, and the sql involved is simple. I have a subroutine that creates the database handle and returns it. Mind you, I am using strict subs and strict vars, but not strict refs. The gist: I return the database handle into the main loop (while (1)), where it will be created and destroyed at the beginning and end of each iteration, respectively. Within a foreach loop that is looping through a data-structure I've created, I pass the $dbh to another routine called sqlUpdate, which takes care of all of the database work. The sql I am trying to execute is no more than a simple "select column from tablename where column2 = ?" statement, which works fine if I execute it in the main program, but if the call is made nested elsewhere within the program (via subroutine), it returns the ORA-01747 error message regarding invalid table, name, or column. If I take all of the code in sqlUpdate() and just nest it within the foreach loop, instead of using a subroutine, the statements prepare and execute as expected. Otherwise, the statement is never prepared because the ORA-01747 error message is returned. I have to wonder, does Perl's gargabe collection munge up database handles in any way? thanks, Scott H. Neibarger SRA International, Inc. IRS ESM project 512-460-8717 Please note that: 1. This e-mail may constitute privileged information. If you are not the intended recipient, you have received this confidential email and any attachments transmitted with it in error and you must not disclose, copy, circulate or in any other way use or rely on this information. 2. E-mails to and from the company are monitored for operational reasons and in accordance with lawful business practices. 3. The contents of this email are those of the individual and do not necessarily represent the views of the company. 4. The company does not conclude contracts by email and all negotiations are subject to contract. 5. The company accepts no responsibility once an e-mail and any attachments is sent. http://www.activis.com This annotation was added by the e-scan service. http://www.activis.com ---------------------------------------------------------------------------------- This message has been checked for all known viruses by e:)scan. For further information please contact [EMAIL PROTECTED]