德尔福6-> Delphi 2006 dbexpress 怪异之处?
我有一个较旧的应用程序(用 Delphi 6 编写),必须移植到 Delphi 2006(更新 2)。该应用程序过去使用DBExpress连接到Interbase 6.x数据库,但新版本需要连接到Firebird 2.x Superserver。
移植顺利,没有真正的问题。但现在,当我尝试从移植的应用程序连接到新的 Firebird 服务器时,出现以下错误:
数据库错误 数据库服务器错误:没有获取操作的当前记录
运行用 Delphi 6 编译的同一应用程序,与同一 Firebird 服务器通信运行良好。在 Delphi 2006 中编译应用程序所需的更改与数据库代码无关 - 所有本地库内容。该应用程序在数据集提供者和客户端数据集上使用 TSQLDataset。
有人知道如何或为什么吗?对 DBExpress 的任何更改可能会导致此行为吗? 谢谢。
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.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我认为 Delphi 2006 本身不支持 Firebird。认为您需要安装 FIBPlus
以下是 Delphi 2006 支持的列表:
摘自此处
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:
Extracted from Here
直到 Delphi 2010 ,内置的 DBExpress 驱动程序官方从未支持 FireBird。
在实践中,很多组合根本不起作用。
要么:
——杰罗恩
Until Delphi 2010, the built in DBExpress drivers officially never supported FireBird.
In practice, a lot of combinations never worked at all.
Either:
--jeroen
首先,从新的 1-form 应用程序中重试相同的步骤(放置 SQLConnection、SQLQuery 等),填写您想要的 SQL 并尝试连接。
我相信版本之间有一些连接参数发生了变化,因为我已经使用 D2006 DBexpress 成功访问了 Firebird 2.x。但应用程序不是移植的,而是新项目。
First of all, retry the same steps from a new, 1-form app (put SQLConnection, SQLQuery etc etc), fill with the SQL you want and try to connect.
I believe there's some connection parameter that changed between versions, since I've used D2006 DBexpress to access Firebird 2.x with success. But the application were not ported, but new projects.