Board index » delphi » DBX and IB Dialect 1

DBX and IB Dialect 1

When you create Tfields using the Fields Editor in a CDS for DBX Dialect 1,
it throws in TSQLTimeStampField. AFAIK, there is no concept of a
TSQLTimeStampField in IB Dialect 1, it should be putting a TDateTime field
and only for Dialect 3 it should be putting in TSQLTimeStamp.

I'm prototyping a n-tier app with replaceable AppServers. The idea is to
build a pluggable AppServer to support IBX, DBX, BDE etc...
The Appserver built with BDE and IBX work fine, but if you attempt to
connect to a DBX Appserver, the client app will fail because it has no clue
what do with TSQLTimeStampField and is expecting a TDateTime field.

The only option left is to remove the persisitent TFields from all the
client Apps.

Is this normal behavior?

Dave Bhatia

 

Re:DBX and IB Dialect 1


If i remember correctly, Interbase 5.x or dialect 1 DATE type not only holds
the date, it holds date and time info. and hence the mapping.

T.Ramesh.

Quote
Dave Bhatia wrote:
> When you create Tfields using the Fields Editor in a CDS for DBX Dialect 1,
> it throws in TSQLTimeStampField. AFAIK, there is no concept of a
> TSQLTimeStampField in IB Dialect 1, it should be putting a TDateTime field
> and only for Dialect 3 it should be putting in TSQLTimeStamp.

> I'm prototyping a n-tier app with replaceable AppServers. The idea is to
> build a pluggable AppServer to support IBX, DBX, BDE etc...
> The Appserver built with BDE and IBX work fine, but if you attempt to
> connect to a DBX Appserver, the client app will fail because it has no clue
> what do with TSQLTimeStampField and is expecting a TDateTime field.

> The only option left is to remove the persisitent TFields from all the
> client Apps.

> Is this normal behavior?

> Dave Bhatia

Re:DBX and IB Dialect 1


Ramesh,

You're right, the Dialect 1 holds the time too, however it's not valid as a
Dialect 1 field type when it comes to Delphi for some reason.
If you connect the client app to an appserver that uses IBX, ClientDataSet
looks for TDateTimeField when connecting to a Dialect 1
TSQLQuery/TDataSetProvider combination, so does BDE.

It seems like IBX and BDE does it right, it uses TDateTime for dialect 1
databases since there is no concept of TTimeStamp in Dialect 1.

I'll have to build a Dialect 3 GDB and test against it if it puts the right
TField for Dialect 3 in all of them (BDE, IBX and DBX).

Dave Bhatia

Other Threads