Migrating from Borland driver
Migrating from Borland driver
I've just bought your Firebird DBX driver and want to start the
migration of my application.
Do you have any tips, hints, instructions for this migration? What
problems I may have, better practices, things like that?
One thing I want is to use the optimized numeric fields and get rid of
that FMTBCD fields.
Any comments will be appreciated. Thanks.
migration of my application.
Do you have any tips, hints, instructions for this migration? What
problems I may have, better practices, things like that?
One thing I want is to use the optimized numeric fields and get rid of
that FMTBCD fields.
Any comments will be appreciated. Thanks.
Set EnableBCD parameter to False to avoid using BCD fields. In this case no BCD fields are created, and OptimizedNumerics parameter is ignored. OptimizedNumerics is used only if EnableBCD is set to True.
When EnableBCD = True and OptimizedNumerics = False (default), BCD fields are created for all NUMERIC and DECIMAL fields.
When EnableBCD = True and OptimizedNumerics = True, TIntegerField, TFloatField or TFmtBcdField fields are created for NUMERIC and DECIMAL fields, depending on field precision and scale.
For detailed information see 'Type map' topic in ReadMe.html file that is located in the DbxIda installation directory.
When EnableBCD = True and OptimizedNumerics = False (default), BCD fields are created for all NUMERIC and DECIMAL fields.
When EnableBCD = True and OptimizedNumerics = True, TIntegerField, TFloatField or TFmtBcdField fields are created for NUMERIC and DECIMAL fields, depending on field precision and scale.
For detailed information see 'Type map' topic in ReadMe.html file that is located in the DbxIda installation directory.
We recommend to use the following values for parameters:
EnableBcd=True
OptimizedNumerics=True
In the next build of DbxIda we'll correct field mapping for NUMERIC and BIGINT fields when EnableBcd = False.
In this mode the current DbxIda version maps all BIGINT and NUMERIC fields with Scale = 0 to ftInteger. Precision of TIntegerField is 9. So values with more that 9 digits will be corrupted.
In the next build BIGINT and NUMERIC fields with Precision > 9 will be mapped to ftFloat. Precision of TFloatField is 15-16 digits. That precision is enough for most values.
So with the next build you can set EnableBcd parameter to False.
EnableBcd=True
OptimizedNumerics=True
In the next build of DbxIda we'll correct field mapping for NUMERIC and BIGINT fields when EnableBcd = False.
In this mode the current DbxIda version maps all BIGINT and NUMERIC fields with Scale = 0 to ftInteger. Precision of TIntegerField is 9. So values with more that 9 digits will be corrupted.
In the next build BIGINT and NUMERIC fields with Precision > 9 will be mapped to ftFloat. Precision of TFloatField is 15-16 digits. That precision is enough for most values.
So with the next build you can set EnableBcd parameter to False.