我有一个较旧的应用程序(用Delphi 6编写),必须移植到Delphi 2006(更新2)。该应用程序用于使用DBExpress连接到Interbase 6.x数据库,但新版本需要连接到Firebird 2.x Superserver。
移植没问题,没有真正的问题。但是现在,当我尝试从移植的应用程序连接到新的Firebird服务器时,我收到以下错误:
数据库错误 数据库服务器错误:没有获取操作的当前记录
运行使用Delphi 6编译的相同应用程序,与同一Firebird服务器通话运行正常。在Delphi 2006中编译应用程序所需的更改与数据库代码无关 - 所有本地库的东西。该应用程序使用TSQLDataset en datasetproviders和clientdatasets。
任何人都知道如何或为何?对DBExpress的任何更改可能会导致此行为? 感谢。
答案 0 :(得分:0)
我认为Delphi 2006本身不支持Firebird。认为您需要安装FIBPlus
下面列出了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
摘自Here
答案 1 :(得分:0)
Until Delphi 2010,内置的DBExpress驱动程序官方从不支持FireBird 在实践中,许多组合根本没有用过。
或者:
- 的Jeroen
答案 2 :(得分:0)
首先,从一个新的1表单应用程序(放置SQLConnection,SQLQuery等)重试相同的步骤,填写所需的SQL并尝试连接。
我相信版本之间有一些连接参数发生了变化,因为我已经使用D2006 DBexpress成功访问Firebird 2.x.但申请没有移植,而是新项目。