Problem: Oracle procedure parameter is always passed as 0 for certain data types.
We have many Oracle procedures that use table column type as the procedure parameter type. For example:
CREATE OR REPLACE PROCEDURE EvalEmpl(
pSNbr IN EmplTable.SNbr%TYPE,
...)
while EmplTable.SNbr is defined as NUMBER(4)
In sqlExpr.pas:
TSQLConnection.GetProcedureParams():
DataSet.FieldByName(LengthFieldName).Value is always 0 for this NUMBER(4) data type
As a result, in SetProcedureParams():
iFldType= fldINT32 for this parameter, but fldINT32 is not handled. Given ArgDesc.iLen=0, the parameter pSNbr is always set to 0 when calling EvalEmpl.
The problem happened after we upgraded to dbexpoda.dll ver 4.90.0.25. It did not happen in dbexpoda.dll ver 2.50.0.25.
Delphi version: Delphi 2005 w/update 2
dbEXpress: dbexpoda.dll ver. 4.90.0.25
Anyone knows how to fix this? Thanks.
Use column type as the procedure parameter type
Re: Use column type as the procedure parameter type
hello,
Thank you for the information, we have reproduced the problem.
We will inform you when we solve this problem.
Thank you for the information, we have reproduced the problem.
We will inform you when we solve this problem.
Re: Use column type as the procedure parameter type
Thanks.
AlexP wrote:hello,
Thank you for the information, we have reproduced the problem.
We will inform you when we solve this problem.
-
- Posts: 2
- Joined: Thu 29 Nov 2012 11:23
Re: Use column type as the procedure parameter type
Any news on this thread? Any workaround?
Re: Use column type as the procedure parameter type
Hello,
We have already fixed the problem.
Please download the latest version of dbExpress driver for Oracle
We have already fixed the problem.
Please download the latest version of dbExpress driver for Oracle