首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果使用Oracle数据库,Delphi应用程序从BDE迁移的选项有哪些?

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

Stack Overflow用户
提问于 2011-05-24 01:03:03
回答 2查看 3.1K关注 0票数 7

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

大多数逻辑都是以存储过程的形式在数据库中定位。目前,我们正在使用Borland数据库引擎(BDE)通过OCI客户端9.2连接到Oracle。

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

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

简单地用其他东西代替BDE并将努力降到最低的选择是什么?

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

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

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

重要的是:

  • 易于升级,例如向导或转换DBE组件的其他工具,
  • 表现不错。

我倾向于devart,因为他们确实有一个迁移工具(尽管它只完成部分工作),而且他们有一个直接的TCP选项来连接数据库,而不需要客户机。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-24 01:18:19

您需要了解BDE与其他体系结构之间的差异。无论您是否打算搬到dbExpress,您都应该阅读并向这张白纸学习。

dbExpress的体系结构是一种有意设计的体系结构,它不仅解决了BDE最低层的关键缺陷,而且还解决了其上层( TTable/TQuery组件)和体系结构中的关键缺陷。了解这些更改的原因,以及它们所处理的BDE中的限制,是将应用程序从BDE移到任何位置的关键因素。

至于你对性能的争论,我喜欢看到人们使用真实的数据,而不是基于挥手形成意见,或者像“快速”这样的形容词传授给对象,而没有实验依据。

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

更新:最初我提到了Delphi,但事实证明它已经过时了,而且不太活跃。在sourceforge上的DelphiOCI项目,使用delphi 7和以前的版本,而不是在unicode上工作,并且只与旧版本(Oracle8i和更旧的) oracle版本一起工作.如果这能在我的环境中工作,我会尝试的。哦,而且是GPL。好吧。不是很好。

票数 4
EN

Stack Overflow用户

发布于 2011-05-24 10:46:05

ODAC和DOA (尽管DOA开发非常陈旧)将允许您访问Oracle特性,dbExpress和其他一般的DB访问库通常不允许访问。如果您的应用程序只支持Oracle,而不需要支持其他DB,那么充分利用Oracle的能力就好得多了。端口的方便程度取决于您如何编写BDE组件代码。ODAC有简化BDE移植的工具(不过我从未使用过它们),而AFAIK DOA则没有。DOA TOracleQuery不是TDataset的后代,因此并不是直接的TQuery替换,尽管它的开销较小,因而具有良好的性能,而TOracleDaset是唯一的类似数据集的组件。我不会在没有Oracle客户端的情况下使用到Oracle的ODAC直接TCP连接,但出于非常特殊的需要--它是一个不受Oracle支持的连接(由Oracle提供),如果是一个小的(相对.)的Oracle即时客户端,我更愿意使用它。内存占用是必需的,至少它是一个完全支持的选项,并允许您(或您的客户)在需要时使用Oracle打开支持请求。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6104742

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档