We help IT Professionals succeed at work.

Delphi multi-RDBMS support with Oracle/Interbase

Jacco
Jacco asked
on
233 Views
Last Modified: 2012-05-04
I have a problem with adding support for Oracle as a back-end to an application that already supports InterBase/MSSQL and SyBase.

I have some TTables/TQuery's with predefined fields (means they are created in the IDE). There FieldType and Size are determined by the IDE (and BDE).

The problem is that Oracle does not know the INTEGER type but uses NUMERIC(0,*) for this. Delphi (and BDE) interpret this as a TFloatField. Because the application is developed with Interbase as a base database, the predefined field are of type integer. And opening a Query that has a TIntegerField when a TFloatField is expected generates a exception...

Does anybody have experience in solving this issue.

(An obvious solution which I am NOT looking for is fixing this at Form or DataModule creation time by storing/freeing/recreating the fielddefs and restoring every interesting property on recreation).

Regards,
Jacco
Comment
Watch Question

Top Expert 2004

Commented:
? Oracle did not have an integer-type ?
see http://agec16.agecon.uiuc.edu:8000/WG73-doc/server/sql73/ch205.html
Top Expert 2004
Commented:
This one is on us!
(Get your first solution completely free - no credit card required)
UNLOCK SOLUTION

Author

Commented:
Thanks Meikl,

It is always very nice to post a question when you leave work and have it solved overnight :-)

Regards Jacco
Top Expert 2004

Commented:
yup, jacco,

thats a feature of ex-ex :-))
well, glad to helped you,
good luck again

meikl
Unlock the solution to this question.
Join our community and discover your potential

Experts Exchange is the only place where you can interact directly with leading experts in the technology field. Become a member today and access the collective knowledge of thousands of technology experts.

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.