• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 206
  • 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).

Regards,
Jacco
0
Jacco
Asked:
Jacco
  • 3
1 Solution
 
kretzschmarCommented:
? Oracle did not have an integer-type ?
see http://agec16.agecon.uiuc.edu:8000/WG73-doc/server/sql73/ch205.html
0
 
kretzschmarCommented:
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

meikl
0
 
JaccoAuthor Commented:
Thanks Meikl,

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

Regards Jacco
0
 
kretzschmarCommented:
yup, jacco,

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

meikl
0

Featured Post

Upgrade your Question Security!

Add Premium security features to your question to ensure its privacy or anonymity. Learn more about your ability to control Question Security today.

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