I have an older application (written in Delphi 6) that has to be ported to Delphi 2006 (update 2). The application used to connect to an Interbase 6.x database using DBExpress, but the new version needs to connect to a Firebird 2.x Superserver.
Porting went OK, no real problems. But now, when I try to connect to the new Firebird server from the ported app, I get the following error:
Database error Database Server Error: no current record for fetch operation
Running the same application compiled with Delphi 6, talking to the same Firebird server runs fine. The changes needed to compile the app in Delphi 2006 weren't related to the database code - all local library stuff. The application uses TSQLDataset en datasetproviders and clientdatasets.
Anybody has any idea how or why? Any changes to DBExpress that might cause this behaviour? Thanks.
I don't think Delphi 2006 supports Firebird natively. Think you need to install FIBPlus
Heres a list of what is supported in Delphi 2006:
Old driver New driver Database and Version
dbexpinf.dll dbxinf30.dll Interbase 7.5
dbexpora.dll dbxora30.dll Oracle 10g
dbexpdb2.dll dbxdb230.dll db2 UDB 8.x
dbexpmss.dll dbxmss30.dll MSSQL 2000
dbexpmys.dll dbxmys30.dll MySQL 4.0.24
dbexpasa.dll dbxasa30.dll Adaptive Sybase Anywhere 9
dbexpase.dll dbxase30.dll Sybase 12.5
dbexpinf.dll dbxinf30.dll Informix 9.x
Extracted from Here