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]

Reply via email to