Hard to say without some of the orginal code could be a number of things.

Do you have raiserror or pringerror set on the handle. If you are only printing an error you may not see it and you end up just rereading the cached data from the last query.

Post you code so we can have a look at it.

cheers
John Scoles

----- Original Message ----- From: "ramesh thangamani" <[EMAIL PROTECTED]>
To: <dbi-users@perl.org>; <[EMAIL PROTECTED]>
Sent: Wednesday, May 09, 2007 3:09 AM
Subject: Clarification on DBI module


Hi,

Can you please clarify my doubts regarding DBI perl module used for database connection.

In my environment I am using single module to prepare and execute the sql queries. The sql query can have bind variables or they may not have. In order to improve performance i used prepare() and execute() sequence for the queries.

Recently I am facing a issue. When i prepare a query with bind variables and pass the bind variables in execute() method it works fine, but second time if i invoke without passing bind variables it returns the previous query results and it is not throwing the error:

DBD::Oracle::st execute failed: ORA-01008: not all variables bound (DBD ERROR: OCIStmtExecute) [for Statement "

Which i believe is the expected behaviour since i should pass bind variables without which the query should fail. How come the execute functions fine without bind variables in the second/multiple query runs.

Is there a way to solve this issue other that re preparing the query ?.

Tried searching on Web regarding this issue but couldn't find any discussion on this.

Thanks,
Ramesh


---------------------------------
Ahhh...imagining that irresistible "new car" smell?
Check outnew cars at Yahoo! Autos.

Reply via email to