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

Posted

技术标签:

【中文标题】如何从 ASP.NET 脚本连接到 Informix 数据库?【英文标题】:How to connect to an Informix Database from an ASP.NET script? 【发布时间】:2013-07-09 11:38:06 【问题描述】:

我从未在 ASP.NET 中编写过代码,但我从事 Web (php) 开发人员已经快 3 年了, 问题是我完成学业后从未编写过任何 .NET 代码,也从未使用过 IIS 和 MS 服务器。

我需要创建一个从 ASP.NET (VB) 脚本到 Informix 数据库的连接。 谷歌带我去这个; IBM Informix connection example 但我不知道如何将这些驱动程序添加到 IIS,IBM Informix Client SDK 安装在服务器上,但是当我在 IIS 中打开对话框以将它们添加为处理程序时,系统会提示我输入我想要的东西不知道是什么意思,我没有找到任何说教程有任何帮助的东西,也没有找到任何关于堆栈溢出的东西。

我感觉自己像一个被困在中国的非洲人,我到底该做什么,我该去哪里?

【问题讨论】:

【参考方案1】:

我过去使用 ODBC 连接到 Informix,就像这样。如果您有 Informix DBA,他将提供主机、服务器和服务的值。 host 是数据库服务器所在主机的名称。 service 是 services 文件中的服务名称,但它实际上映射到 Informix 侦听的端口。服务器是实际的服务器。

string connectionString = "Driver=INFORMIX;host=myhost;server=myserver;service=23300;protocol=onsoctcp;database=dbase;uid=user;pwd=pass;client_locale=en_US.CP1252;db_locale=en_US.8859-1;"

OdbcConnection conn = new OdbcConnection(connectionString);
conn.Open();

有关更多连接字符串示例,请参阅here。

要进行测试,您可以创建一个 ODBC 数据源并测试连接,而无需编写任何代码。

【讨论】:

【参考方案2】:

好的,事实证明,我没有找到任何可靠的东西,所以我去客户办公室寻求一位经验丰富的 .NET 开发人员的帮助。

有人告诉我使用 ODBC 在服务器计算机上创建一个DSN,在here 解释的步骤中

之后我在连接字符串中提到了DSN连接,像这样;

DSN=myDsn;Uid=myUsername;Pwd=p%W$d;

我必须在我的 asp.net 脚本中添加模拟,就像 here 使用我在 ODBC 中创建 DSN 连接时所登录的用户一样

【讨论】:

【参考方案3】:

我在尝试从 ASP.NET 控制台应用程序连接到 Informix DB 时遇到了类似的问题,但最终找到了连接方法!这是我使用的连接字符串:

Database=db_cra;Host=192.168.160.207;Server=sipccx1_uccx;Service=1504;Protocol=onsoctcp;UID=MyUserId;Password=MyPassWord;DB_LOCALE=EN_US.UTF8;CLIENT_LOCALE=EN_US.UTF8;

注意:DB_LOCALE 和 CLIENT_LOCALE 是我缺少的拼图。此外,“服务”表示“端口”,“服务器”是 Informix 实例名称 - 在数据库配置中定义(参见:Finding Informix DB Server)

我下载并安装了 IBM 提供的 Informix Client SDK,发现它带有示例代码(适用于 C# 和 VB)。示例的路径是 C:\Program Files\IBM Informix Client SDK\demo\dotnetdemo\quickstart\cs

将您的连接字符串添加到 conninfo.xml 文件中,并将名为 helloworldconnect.cs 的文件作为控制台应用程序运行以测试连接。您的结果将输出到名为“log.txt”的文件中(位于 bin/Debug 文件夹中)。

顺便说一句 - 我下载了“IBM Informix Client SDK”的 64 位版本。试图运行它给了我“BadImageFormatException”,所以我不得不将我的平台目标切换到 x64。

SDK 自述文件说它是 2015 年 3 月 26 日发布的 IBM Informix .NET Provider Version 4.10.FC5。This link should give you a list of Windows 64 bit drivers(您需要创建一个 IBM 帐户才能下载)。在此页面上,您可以更改过滤器设置(页面顶部)以获取其他操作系统。

呼……现在开始拉数据!

还有一件事.. 这本书“IBM Informix 开发人员手册”(https://play.google.com/books/reader?id=eprEAgAAQBAJ) 是一个很好的资源,而且它是免费的!

【讨论】:

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

无法从 docker windows 容器中的 asp.net 核心应用程序连接到主机数据库

从 ASP.NET Core 连接到 SQL Server 的最佳实践?

无法从在 Docker (Linux) 中运行的 ASP.NET Core 连接到 SQL Server 命名实例

无法使用 AFNetworking 将 iOS 连接到 asp.net webservices

在我的 ASP.Net 项目中无法从 VS2019 连接到 SQL Server 数据库

如何在 Mac 上将 ASP.Net Core 连接到 SQL Server Docker 容器