我们有一个连接到Oracle 8i数据库的Delphi 5应用程序。
大多数逻辑是将数据库作为存储过程进行选址。当前,我们正在使用Borland数据库引擎(BDE)通过OCI客户端9.2连接到Oracle。
该应用最初是在96年使用Delphi 1编写的,然后在99年升级为Delphi 5。
该计划是升级到XE客户端和Oracle 11g。
有什么选择可以简单地用其他东西代替BDE并尽量减少努力?
到目前为止,我已经看到:
我不考虑DBExpress,因为我不相信它将具有我们所需的性能。
重要的事情是:
我倾向于devart,因为它们确实具有迁移工具(尽管它仅做部分工作),并且它们具有直接TCP选项以连接到数据库而无需客户端。
最佳答案
您将需要了解BDE与其他体系结构之间的差异。无论您打算迁移到dbExpress,都应该阅读this whitepaper并向其学习。
dbExpress的体系结构是一种有意的体系结构,旨在解决BDE最低层,高层(TTable/TQuery组件)和体系结构中的严重缺陷。了解这些更改的原因以及它们解决的BDE局限性,是将您的应用程序从BDE转移到任何其他方面的关键要素。
至于您对性能的争论,我喜欢看到人们使用真实的数据,而不是基于挥手而形成意见,或者在没有实验支持的情况下将形容词(例如“快速”)赋予对象。
我没有亲自使用过DOA,但是如果我不打算使用dbExpress,那将是我接下来评估的结果,对于纯Oracle环境。但是,如果不在自己的环境中进行测试,我不会认为dbExpress的速度较慢。
更新:最初我提到了Delphi OCI,但事实证明它已经过时了,而且不是很活跃。 sourceforge上的DelphiOCI项目可在Delphi 7和更低版本上使用,不适用于unicode delphi,并且仅适用于较旧(Oracle 8i和较早版本)的oracle版本...如果该功能可以在我的环境中使用,则可以尝试一下。哦,这是GPL。好的。不太好。
关于oracle - 如果使用Oracle数据库,Delphi应用程序可以从BDE迁移的选项有哪些?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6104742/