ado.net - Informix for .NET 的连接字符串

标签 ado.net connection-string informix

我们正在使用 Informix 数据库,并使用 ODBC 从 .NET 成功连接到它。我们使用的连接字符串是;

DRIVER={IBM INFORMIX ODBC RIVER};
UID=username; PWD=password;
DATABASE=our_database;
HOST=devsrv01;
SERVER=devsrv01_tcp;
SERVICE=ids9tcp2;
PROTOCOL=onsoctcp;
CLIENT_LOCALE=en_US.CP1252;
DB_LOCALE=en_US.819;

我们希望从 ODBC 更改为使用 IBM 的 SDK 和库 outlined on their site .

我们使用的代码是;

string ConnectionString = "Database=our_database; Server=172.22.0.0:1528; UID=username; Password=password; ";

try
{                               
    IfxConnection conn = new IfxConnection(ConnectionString);
    conn.Open();
}
catch (IfxException ex)
{}

conn.Open() 抛出异常;

错误 [08001] [IBM] SQL30081N 检测到通信错误。使用的通信协议(protocol):“TCP/IP”。使用的通信 API:“SOCKETS”。检测到错误的位置:“172.22.0.0”。通信函数检测到错误:“recv”。协议(protocol)特定错误代码:“”、“”、“0”。 SQLSTATE=08001

“啊哈!”你说。只需输入“PROTOCOL=onsoctcp;”,但这使得IfxConnection(ConnectionString);命令抛出 ArgumentException 。如果连接字符串包含任何无效的<field>=<value>设置它会抛出此异常。如果我放入garbage=junk;它抛出相同的 ArgumentException,这让我认为它无法识别协议(protocol)(或 PRO)字段。

(仅供引用)172.22.0.0 是 devsrv01 的 IP,且不以 0.0 结尾。

最佳答案

我最终发现答案是包括;

Persist Security Info=True;Authentication=Server;

别问我为什么。我只是让它发挥作用。

为所有人+1 - 感谢您的帮助。

关于ado.net - Informix for .NET 的连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/611345/

相关文章:

entity-framework - Azure 函数和 PowerShell : unable to set connection strings with Set-AzWebApp

c - 如何使用C语言连接informix DB

c# - 在 C# 中使用 Access 数据库?

c# - Json反序列化和ADO持久化过程中的字符串截断

MySql永久连接错误 `Unable to connect`

C# + LINQ + ADO.NET EF,加入 2 个表并返回所有内容,无需手动指定所有字段

c# - 与 MySql 连接时,C# 中的访问被拒绝错误。我已经拥有数据库的完全访问权限

c# - 如何在未安装 SQL Server 的计算机上使用其 Sql Server 数据库运行桌面应用程序

informix - 如何在 Informix SQL 中创建屏幕表单?

datetime - Informix:日期时间操作