• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 211
  • Last Modified:

Delphi multi-RDBMS support with Oracle/Interbase

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).

  • 3
1 Solution
? Oracle did not have an integer-type ?
see http://agec16.agecon.uiuc.edu:8000/WG73-doc/server/sql73/ch205.html
hi jacco,

have done some tests and see now your problem.

a workaround:

if u use the bde oracle native driver set the
- entry enable integer to true
- alter the field with the type NUMBER(*,0) to NUMBER (10,0)

this should do the trick

JaccoAuthor Commented:
Thanks Meikl,

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

Regards Jacco
yup, jacco,

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

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now