【问题标题】:Should I use native Interbase components to read an Interbase database from Delphi我应该使用本机 Interbase 组件从 Delphi 读取 Interbase 数据库吗
【发布时间】:2012-04-03 05:47:03
【问题描述】:

我有一个 Interbase 5.5 数据库(注意:这是一个非常旧的版本,从上个千年开始)。

到目前为止,我已经设法使用 Delphi 附带的“本机”Interbase 组件(IBDatabase、IBQuery 等)连接到它。

似乎还有其他一些方法可以从 Delphi 连接到 Interbase。

使用这些其他方法是否有优势,或者我应该使用“本机”组件吗?

我的一些要求:

  • 我只需要读取权限,不需要写入权限
  • 准确性是重中之重,但速度也不错
  • 安装额外的 dll 等不是问题
  • 我使用的是 Delphi 2010

回答一些问题:

您对 IB 组件有疑问吗?

还没有,没有。不过我还没有做太多。

你有什么顾虑?

我主要关心的是我拥有的旧版本的数据库。我使用的组件能正确读取这么旧的数据库吗?

我只需要从旧数据库中提取数据并将其写入新格式。 (即转换旧数据库)。我不需要维护旧数据库。

正确提取数据非常重要。

【问题讨论】:

  • IB组件有问题吗?
  • 您有什么顾虑?此应用程序的预期用途是什么?看来您正在维护旧代码。有什么路线图吗?在质疑实施细节之前,需要先询问所有这些问题。

标签: delphi interbase


【解决方案1】:

我会先试着弄清楚你需要什么。

  1. 您有什么顾虑?
  2. 此应用程序的预期用途是什么?
  3. 您似乎在维护旧代码(或连接到旧但活跃的数据库)。您的方案是什么?
  4. 是否有计划将此数据库迁移到最新版本?

这些问题可能会让您了解您是否会长期支持此应用程序(可维护性),或者您是否需要快速、肮脏的 hack(快速部署)。

如果你走的是快速部署的道路,那么你已经有了答案(保留它的工作原理。)

如果有升级数据库的坚定计划或应用程序将持续使用,那么您可能应该使用高质量的数据访问组件来覆盖您的基础。我总是发现自己推荐AnyDAC,因为它们易于使用、坚如磐石并且具有良好的支持。当然还有其他选择,但这是我所知道的。

【讨论】:

  • 感谢您的回答。我已在问题中添加了更多信息。
【解决方案2】:

不管怎样,我们最终使用了最新的 Firebird ODBC 驱动程序,然后使用标准的 Delphi ADO 组件通过 ODBC 连接到数据库。

我们在使用任何其他方法连接到数据库时都遇到了问题。

这很可能是我们做错了;这是我们可以可靠地开始工作的唯一方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-11
    • 1970-01-01
    • 2011-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多