如果使用Oracle数据库,Delphi应用程序可以选择从BDE迁移出来

Ant*_*nts 7 delphi oracle bde

我们有一个连接到Oracle 8i数据库的Delphi 5应用程序.

大多数逻辑在数据库中作为存储过程选址.目前,我们使用Borland数据库引擎(BDE)通过OCI客户端9.2连接到Oracle.

这个应用程序最初是在96年使用Delphi 1编写的,然后在99年升级到Delphi 5.

计划是升级到XE客户端和Oracle 11g.

用其他东西简单地替换BDE并将努力保持在最低限度的选项是什么?

到目前为止,我已经看到:

  • AnyDAC(http://www.da-soft.com/anydac/)
  • devart ODAC(http://www.devart.com/odac/)
  • DOA(http://www.allroundautomations.com/)

我不是在考虑DBExpress,因为我不相信它会有我们需要的性能.

重要的是:

  • 易于升级,例如向导或其他一些转换DBE组件的工具,
  • 很好的表现.

我倾向于devart,因为他们确实有一个迁移工具(虽然它只做一个部分工作),他们有一个直接的TCP选项连接到数据库而无需客户端.

War*_* P 4

您将需要了解 BDE 和其他体系结构之间的差异。无论您是否计划迁移到 dbExpress,您都应该阅读本白皮书并从中学习。

dbExpress 的体系结构是一个有意的体系结构,旨在解决 BDE 最低级别以及其上层(TTable/TQuery 组件)和体系结构中的关键缺陷。了解这些更改的原因以及它们所解决的 BDE 的限制是将您的应用程序从 BDE 迁移到任何其他内容的关键要素。

至于你对性能的争论,我喜欢看到人们使用真实的数据,而不是在没有实验支持的情况下根据挥手或对物体使用“快速”之类的形容词来形成意见。

我个人没有使用过 DOA,但如果我不打算使用 dbExpress,那将是我接下来要评估的仅适用于 Oracle 环境的事情。尽管如此,如果没有在我自己的环境中进行测试,我不会认为 dbExpress 更慢。

更新:最初我提到了 Delphi OCI,但事实证明它已经过时了,而且不是很活跃。sourceforge 上的DelphiOCI项目适用于 Delphi 7 及之前版本,不适用于 unicode delphi,并且仅适用于较旧的(Oracle 8i 及较旧的)oracle 版本...如果这能够在我的环境中工作,我会尝试一下。哦,这是 GPL。好的。不太好。