This is ODAC version 6.5.0.12 running against Delphi 5 and an Oracle 11 database.
Here is the Oracle description of the package, for one method only
PROCEDURE GETPRODVERSION
Argument Name Type In/Out Default?
------------------------------ ----------------------- ------ --------
PROD_ID NUMBER(38) IN
VER_NAME VARCHAR2 IN
VER_ID NUMBER(38) IN/OUT
Here is what the package wizard gives me
procedure TPAC_DFE.GETPRODVERSION(const PROD_ID: string; const VER_NAME: double; var VER_ID: string);
var
PROD_ID_Param, VER_NAME_Param, VER_ID_Param: TOraParam;
begin
BeginExecPLSQL;
try
PROD_ID_Param := AddParam('PROD_ID', ftUnknown, ptInput);
PROD_ID_Param.AsString := PROD_ID;
VER_NAME_Param := AddParam('VER_NAME', ftFloat, ptInput);
VER_NAME_Param.AsFloat := VER_NAME;
VER_ID_Param := AddParam('VER_ID', ftString, ptInputOutput);
VER_ID_Param.Size := 22;
VER_ID_Param.AsString := VER_ID;
ExecProc('GETPRODVERSION');
VER_ID := VER_ID_Param.AsString;
finally
EndExecPLSQL;
end;
end;
You can see that VER_NAME is incorrectly cast as a double, and VER_ID is incorrectly cast as a string.
Perhaps the combination of IN and IN/OUT parameters has caused the problem.
Is this a known bug? Has it been fixed?
The work-around is to use variants. However, variants are not as easy to use. Yes, I can manually alter the generated code, but then the next time I refresh the generated code, I would lose all manual edits.
Thank you,
Oracle Package Wizard produces wrong data types
Discussion of open issues, suggestions and bugs regarding ODAC (Oracle Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
-
Roy Fraties
- Posts: 4
- Joined: Fri 03 Apr 2009 18:23
Return to “Oracle Data Access Components”
Jump to
- General Forums
- ↳ Announcements
- Database Tools
- ↳ dbForge for MySQL
- ↳ dbForge for Oracle
- ↳ dbForge for PostgreSQL
- ↳ dbForge for SQL Server
- ADO.NET Data Providers
- ↳ Entity Framework support
- ↳ LinqConnect (LINQ to SQL support)
- ↳ dotConnect for Oracle
- ↳ dotConnect for MySQL
- ↳ dotConnect for PostgreSQL
- ↳ dotConnect for SQLite
- ↳ dotConnect for DB2
- ↳ dotConnect for SQL Server
- ↳ dotConnect for Cloud Applications
- ↳ dotConnect Universal
- ↳ Entity Developer
- Delphi Data Access Components
- ↳ EntityDAC
- ↳ Universal Data Access Components
- ↳ Oracle Data Access Components
- ↳ SQL Server Data Access Components
- ↳ MySQL Data Access Components
- ↳ InterBase Data Access Components
- ↳ PostgreSQL Data Access Components
- ↳ SQLite Data Access Components
- ↳ VirtualDAC
- dbExpress Drivers
- ↳ dbExpress driver for Oracle
- ↳ dbExpress driver for SQL Server
- ↳ dbExpress driver for MySQL
- ↳ dbExpress driver for InterBase & Firebird
- ↳ dbExpress driver for PostgreSQL
- ↳ dbExpress driver for SQLite
- ODBC Drivers
- ↳ ODBC Drivers
- Network Security
- ↳ SecureBridge
- Developer Tools
- ↳ Code Compare
- ↳ Review Assistant
- ↳ LINQ Insight
- ↳ SSIS Data Flow Components
- ↳ Excel Add-ins