EDatabaseError - expecting: Integer actual: FMTBcdField

Discussion of open issues, suggestions and bugs regarding usage of dbExpress drivers for Oracle in Delphi and C++Builder
Post Reply
valdir.marcos
Posts: 4
Joined: Mon 19 Jan 2009 11:31

EDatabaseError - expecting: Integer actual: FMTBcdField

Post by valdir.marcos » Mon 19 Jan 2009 12:11

Delphi 2007 - version 11.0.2902.10471
Oracle 10g XE
dbxoda.exe Trial version 4.40.0.13
Using DBEpress.

I have created a table with a Numeric(9) field since Integer in Oracle would create a Numeric(3Cool filed, but in My Field Editor it (Numeric(9)) always apear as FMTBcdField.

How can I use and set an OracleSession?

Observation: my Delphi does not find "OraClasses.pas" file and it cannot see "TOraSession" class even after I have set correctly the library path.

Thanks.

valdir.marcos
Posts: 4
Joined: Mon 19 Jan 2009 11:31

Post by valdir.marcos » Mon 19 Jan 2009 13:14

Is there a way to set EnableIntegers and Scale and Precision without using nor ODAC neither UniDAC?

Plash
Devart Team
Posts: 2844
Joined: Wed 10 May 2006 07:09

Post by Plash » Tue 20 Jan 2009 10:02

You should add EnableBCD=False to the Params property of TSQLConnection.

valdir.marcos
Posts: 4
Joined: Mon 19 Jan 2009 11:31

Post by valdir.marcos » Tue 20 Jan 2009 11:57

In MS-SQL and Firebird, we use the Integer datatype for Primary/Foreign Keys allowing a big number up to 20 digits.
In Oracle, the Integer datatype means Numeric(38) which also solve our growing problem, but the EnableBCD=False strategy only permit Numeric(9) to work as Integer on Delphi 2007. A 9 digit number is not enough for our need.

Is there another way of Delphi 2007 DBExpress through dbxoda.exe Trial version 4.40.0.13 recognise Oracle 10g Numeric(38) as Delphi IntegerField?

Thanks for your help.

Plash
Devart Team
Posts: 2844
Joined: Wed 10 May 2006 07:09

Post by Plash » Wed 21 Jan 2009 10:34

You should add also the following to the Params property:
IntegerPrecision=38

Please see the ReadMe.html file in the driver installation folder for the full list of the extended driver options.

valdir.marcos
Posts: 4
Joined: Mon 19 Jan 2009 11:31

Post by valdir.marcos » Thu 22 Jan 2009 12:20

How can I transform an Oracle Numeric(38) as a Delphi DBExpress TLargeintField (Int64)?

Post Reply