首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从PostgreSQL与Informix通信?

从PostgreSQL与Informix通信?
EN

Stack Overflow用户
提问于 2012-09-02 16:39:45
回答 2查看 1.1K关注 0票数 0

请帮助我设置从PostgreSQL到Informix (两者的最新版本)的连接。我希望能够从PostgreSQL对Informix执行查询。我正在寻找一种不需要为每个查询导出数据(从Informix)和导入(到PostgreSQL)的解决方案。

我在PostgreSQL非常新手,需要详细的说明。

EN

回答 2

Stack Overflow用户

发布于 2012-09-02 17:04:09

您还没有说您使用的是哪个版本。有一些限制需要注意,但有广泛的选择。

既然您说这是导入/导出,我就假定只读选项是不够的。这就排除了PostgreSQL 9.1的外来数据包装系统。

根据您的版本不同,David Fetter的DBI-Link可能适合您的需要,因为它可以在远程表上执行查询(请参阅https://github.com/davidfetter/DBI-Link)。它已经有一段时间没有更新了,但是它的实现应该是非常稳定的,并且可以跨版本使用。如果失败,您可以用一种不受信任的语言(PL/PythonU、PL/PerlU等)编写存储过程,以连接到Informix并在那里运行查询。注意,在这种情况下,您将遇到事务处理方面的限制,因此您可能希望使用延迟约束触发器在其他表上运行任何查询,以便所有内容都在提交时运行。

编辑:我想到了一种更简洁的方法:使用外部数据包装器进行导入,使用单独的客户端应用程序进行导出。

在这种方法中,您将拥有四个基本组件,但这将是松散耦合的,并受到适当的事务控制的约束。如果你愿意,你甚至可以使用两阶段提交。这四个组件是(这里没有提供一个完整的工作示例,但至少有一个路线图):

用于数据导入的exported.

  • External
  1. 外部数据包装器,允许您查看来自Informix.
  2. Views的数据,以便将管理导出方面的exported.
  3. External应用程序,以您选择的语言编写。它监听像LISTEN export_informix;
  4. Triggers这样的通道,监听底层表,这些表对要导出的数据进行查看,从而引发NOTIFY export_informix

通知是在提交时发出的,因此基本上可以通过这种方式将事务分为两个阶段:

  1. 在PostgreSQL中写入数据,标记要导出的数据。提交。
  2. 从PostgreSQL读取数据,导出到Informix.两端提交(TPC?)。
票数 2
EN

Stack Overflow用户

发布于 2012-09-02 22:31:37

正如Chris Travers所说,你要做的事情并不容易做到。

从理论上讲,如果您正在使用Informix并需要访问PostgreSQL,那么您可以(购买并)使用企业网关管理器(EGM)并使用PostgreSQL的ODBC driver来允许Informix连接到PostgreSQL。在实际访问PostgreSQL时,EGM将尽最大努力使其看起来像另一个Informix数据库。(我还没有验证是否支持PostgreSQL,但是EGM基本上需要一个ODBC驱动程序才能工作,所以应该不会有任何问题--可能是“著名的遗言”。)这将包括2PC (两阶段提交)的仿真;不完美,但相当接近。

对于反向连接(使用PostgreSQL并连接到Informix),您将需要查看PostgreSQL工具套件-或其他来源。

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

https://stackoverflow.com/questions/12234529

复制
相关文章

相似问题

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