Subject: | DBD::Oracle returns wrong error (due an internal error?) |
Date: | Wed, 23 Jun 2010 12:45:48 +0200 |
To: | "'bug-DBD-Oracle [...] rt.cpan.org'" <bug-DBD-Oracle [...] rt.cpan.org> |
From: | Graf Robert SECA sIT <Robert.Graf [...] s-itsolutions.at> |
Hi,
instead of getting the error "ORA-12170 TNS:Connect timeout occurred" (which I get correctly from TOAD) we get this error (via DBI):
DBD::Oracle::st execute failed: ORA-24338: statement handle not executed (DBD ERROR: OCIAttrGet OCI_ATTR_PARAM_COUNT) [for Statement "BEGIN PORTAL_API.GET_PUT_CALL_RATIO(:Csr,'WB'); END;" with ParamValues: :csr=DBI::st=HASH(0x8648450)
The procedure call is correct (2 parameters) - this procedure calls another procedure which includes only one SELECT statement which selects only data via a database link. The database link does not work (which we found out) due firewall problems. So the error message "ORA-12170 TNS:Connect timeout occurred" would be correct - but not delivered (due an internal DBD::ERROR ?).
The procedure call via DBI dies after ~ 210 seconds (which is the timeout time!). But if there would be a parameter count bug - the error should be reported immediately (there are no other operations).
Of course, before the firewall everything has worked fine - there was no change of the code.
We are using the latest DBD::Oracle 1.24, Perl 5.8.8
If you need more information please let me know.
Best regards,
Robert Graf
Ing. Robert Graf
s IT Solutions
GAL ST/SECA
s IT Solutions AT Spardat GmbH
A-1110 Vienna, Geiselbergstr. 21 - 25
Phone: +43 50100 - 17772
Fax: +43 50100 - 917772
E-Mail: robert.graf@s-itsolutions.at
Website: www.s-itsolutions.at