oracle - 如果使用 Oracle 数据库,Delphi 应用程序从 BDE 迁移的选项有哪些

标签 oracle delphi bde

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

大多数逻辑作为存储过程位于数据库中。目前我们使用 Borland Database Engine (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 选项来连接到数据库,而不需要客户端。

最佳答案

您将需要了解 BDE 和其他架构之间的差异。无论您是否打算迁移到 dbExpress,您都应该阅读 this whitepaper 并从中学习。 .

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

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

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

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

关于oracle - 如果使用 Oracle 数据库,Delphi 应用程序从 BDE 迁移的选项有哪些,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6104742/

相关文章:

sql - 如何从一列的多个表中选择最大值

oracle - 定义虚拟列后将记录插入oracle

delphi - 如何隐藏 TRibbon 页面?

delphi - Free Pascal 到 Delphi 的转换 - Generic T 默认参数

java - 在 oracle 主要版本 11 上具有 HibernateException 的 JBOSS 部署

sql - Oracle:ON DELETE CASCADE 导致触发递归

delphi - 如何跟踪 OLE 自动化对象的 _AddRef/_Release 调用

delphi - TStoredProc 中的参数数量有限制吗?

java - 如何以编程方式在 Java 中创建 BDE 别名?

delphi - TDBCtrlGrid 是通用数据感知组件吗?