Hi everyone...
I got a application developed with Interbase, using dBExpress... Now i'll try use oracle as an alternative.
Runing a few tests (using the EnableBCD property), the TFMTBCDField fields used in oracle, are incompatible (Type Mismatch Error) in Interbase.
The question is... Exist any Field type compatible with Interbase and Oracle, or it's an Extended driver options settings trouble.
Thanks in Advance...
Interbase - Oracle Application
The SQL code it's a simple:
select * from TABLE
I connected the App to an Oracle database using a TCRSQLConnection (using the EnableBCD property). Later using a simple "select * from TABLE" SQL connected a TSQLQuery, and adding all it´s fields. The numeric fields are TFMTBCDField, and all works well.
When i tried connect the App to an Interbase database, the TFMTBCDField got problems... The literal error it's: "Type mismatch for field XXXX, expecting: TFMTBCDField actual: Integer"
If i try backwars, connecting first to Interbase and later to Oracle, the numeric fields are TIntegerFields, so i think that's worst (i was read, Oracle doesn't work with integer fields only FloatFields)
So i don't know if exist any Field type compatible with Interbase and Oracle database, or i got an Extended driver options settings trouble.
Thanks
select * from TABLE
I connected the App to an Oracle database using a TCRSQLConnection (using the EnableBCD property). Later using a simple "select * from TABLE" SQL connected a TSQLQuery, and adding all it´s fields. The numeric fields are TFMTBCDField, and all works well.
When i tried connect the App to an Interbase database, the TFMTBCDField got problems... The literal error it's: "Type mismatch for field XXXX, expecting: TFMTBCDField actual: Integer"
If i try backwars, connecting first to Interbase and later to Oracle, the numeric fields are TIntegerFields, so i think that's worst (i was read, Oracle doesn't work with integer fields only FloatFields)
So i don't know if exist any Field type compatible with Interbase and Oracle database, or i got an Extended driver options settings trouble.
Thanks
The Core Lab dbExpress driver for Oracle will create fields of TIntegerField type if you set EnableBCD=False in the Params property of TCRSQLConnection. TIntegerField can be used with Oracle.
If the TSQLQuery component creates TFloatField objects instead of TIntegerField, you can set IntegerPrecision in the TCRSQLConnection.Params property to a value that corresponds a precision of the fields in the database table.
If the TSQLQuery component creates TFloatField objects instead of TIntegerField, you can set IntegerPrecision in the TCRSQLConnection.Params property to a value that corresponds a precision of the fields in the database table.