通过Delphi连接到多个firebird数据库

时间:2010-05-10 14:15:53

标签: database delphi firebird

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

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

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

1 个答案:

答案 0 :(得分:0)

我不使用DataModules,而是使用多个TAdoConnection / TAdoQuery为每个数据库定期访问(同时读/写)多个数据库。

  1. 为每个数据库创建一个TAdoConnection。我从来没有访问Firebird,但从我可以收集到的内容就像Interbase一样;所以你应该可以使用TAdoConnection访问它。
  2. 为每个数据库创建相应的TAdoQuery查询。
  3. 单独打开每个查询。
  4. 完成后请确保释放所有内容。
  5. 从它的声音来看,您可能正在使用单个数据库连接到一个Firebird数据库(很可能是“你的”)。

    另一个考虑因素:检查对第二个数据库的查询是否产生了预期的结果和字段。