【问题标题】:Connecting to multiple firebird Databases via Delphi通过 Delphi 连接到多个 firebird 数据库
【发布时间】:2010-05-11 03:59:08
【问题描述】:

我正在将一个系统与 2 个其他应用程序集成,1 个使用 Firebird 数据库,而另一个 BIS(使用 ADO)。我的 delphi 应用程序使用 Firebird。我需要从我的数据库中读取数据,将其插入到 BIS 数据库和其他应用程序 firebird 数据库中。我为每个创建了单独的数据模块。将数据发送到 ADO 工作正常,但是当写入另一个 Firebird DB(我的数据库仍然打开)时,我得到了奇怪的错误。我已经设法将问题隔离到第二个火鸟数据库。小数据写入似乎没问题。

数据结构完全不同,无法使用同步工具。

有没有办法通过使用多线程或每个 Firebird 实例使用的单独内存空间来克服这个问题?

【问题讨论】:

  • 什么是奇怪的错误?
  • 你使用哪个驱动来连接 Firebird ?
  • 您能否更好地解释您的问题。

标签: database delphi firebird


【解决方案1】:

我不使用 DataModules,但经常使用每个数据库的多个 TAdoConnection/TAdoQuery 来访问(读/写)多个数据库。

  1. 为每个数据库创建一个 TAdoConnection。我从未访问过 Firebird,但据我所知,它就像 Interbase;所以你应该可以使用 TAdoConnection 访问它。
  2. 为每个数据库创建一个对应的 TAdoQuery 查询。
  3. 分别打开每个查询。
  4. 完成后确保释放所有内容。

听上去,您可能正在使用单个数据库连接到一个 Firebird 数据库(很可能是“您的”)。

另一个注意事项:检查对第二个数据库的查询是否产生预期的结果和字段。

【讨论】:

    猜你喜欢
    • 2017-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-24
    • 1970-01-01
    • 2020-09-30
    • 1970-01-01
    相关资源
    最近更新 更多