如何连接到旧版 Informix 数据库?

Posted

技术标签:

【中文标题】如何连接到旧版 Informix 数据库?【英文标题】:How to connect to a legacy Informix database? 【发布时间】:2010-05-14 10:23:28 【问题描述】:

我必须将我的应用程序连接到客户的 Informix 7.2 旧数据库。

据我所知,理论上应该有一个数据库服务在50000端口上运行。问题是我在操作系统中找不到任何数据库服务。

到目前为止,我只能使用 dbaccess 并从命令行执行查询。

我想使用数据库驱动程序(例如http://code.google.com/p/ibm-db/),以便我的应用程序可以使用游标连接和查询数据库,但由于我找不到任何数据库服务,显然我不能...

我在这里遗漏了什么吗?有没有我没有考虑的选项?

是否可以有一个只有 dbaccess 接口的 Informix 数据库?

【问题讨论】:

您使用哪个工具连接它? .NET、Java 等? 我正在使用 Python,计划通过 IBM 驱动程序连接 SQLAlchemy (code.google.com/p/ibm-db) 这个驱动似乎只适用于较新版本的 Informix。 您的机器上是否安装了 Client SDK?你用什么操作系统? python 应用程序和 Informix 服务器位于不同的机器上。 python 应用程序在 ubuntu 上运行。 Informix 服务器安装在不同的机器上(一个非常古老的 Red Hat 发行版)。我没有权限在 Red Hat 机器上安装任何东西,所以我必须远程连接。 【参考方案1】:

请参阅 connection strings 了解 Informix

【讨论】:

【参考方案2】:

如果您使用 Python,您可以查看:Python wiki,但我想对其进行一点扩展。

如果您在 Windows 上工作并拥有 Client SDK,那么您的计算机上应该安装了 ODBC 驱动程序。此类客户端软件还有 Linux 和其他 unix 版本。如果您安装它,您可以使用 ODBC 连接到数据库。在 Windows 上,您可以使用带有 win32 扩展的 Active State Python 2.6,其中包含 odbc 模块。在其他 Python 实现中,您可以使用 win32 扩展或其他 ODBC 模块,例如 mxODBC

我还使用 Jython,我同时使用 JDBC 和 ODBC 驱动程序。您可以在我的 SO 问题中看到这个“在行动中”,例如:Problem with Informix JDBC Money format

【讨论】:

InfomixDB,在 python wiki 中提到,看起来不错,但我无法将它安装在 python 应用程序机器上,因为我没有 Informix 服务器......我需要远程做点什么……还没试过mxODBC……【参考方案3】:

顺便说一句,如果您想在 Mac 上使用 Python 连接到远程旧版 Informix 数据库,pypyodbc-informixcsdk 可能是您唯一的(免费)选择。检查this wiki。

在 Windows 机器上,pyodbc + Informix Client SDK + ODBC 做得很好。

【讨论】:

以上是关于如何连接到旧版 Informix 数据库?的主要内容,如果未能解决你的问题,请参考以下文章

如何查看连接到 Informix 数据库的应用程序名称?

如何从 ASP.NET 脚本连接到 Informix 数据库?

连接到 informix 数据库 windows 窗体应用程序

在 Windows 上使用 pyodbc 连接到 Informix

无法通过php连接到informix数据库

使用 SQL Management Studio 连接到 Informix 数据库