【问题标题】:Informix .NET Connection StringInformix .NET 连接字符串
【发布时间】:2012-06-04 13:03:48
【问题描述】:

我正在尝试连接到 Informix DB 服务器 (v10),并且我正在使用 Informix Data Provider .NET 类库通过 .NET 应用程序建立连接并检索数据。

最初,我在本地机器上设置了一个 Informix 服务器来对这个库进行一些测试。有趣的是,有两种情况,一种连接字符串有效,另一种无效。

场景一:服务器设置为通过协议“drsoctcp”连接,连接字符串如下:

connectionString="Server=my.server.com:9088; Database=mytestdb; User ID=user; Password=mypass; Persist Security Info=True; Authentication=Server;"

由于使用的协议是 'drsoctcp',所以上述方法有效

场景 2:服务器设置为通过协议“onsoctcp”进行连接,连接字符串与上述完全相同。连接不起作用,抛出的错误是:

错误 [08001] [IBM] SQL30081N 通信错误或已 检测到。正在使用的通信协议:“TCP/IP”。沟通 正在使用的 API:“SOCKETS”。检测到错误的位置: “fe80::1:10 9:c212:ce44%10”。通讯功能检测 错误:“接收”。协议特定错误代码:“”、“”、“0”。 SQLSTATE=08001

“my.server.com”是我正在使用的机器的名称,在 LAN 上标识。我还尝试使用 localhost 或 IP 地址(127.0.0.1 和外部 IP 地址),但仍然没有成功。

真正的问题在这里:我希望连接的 Informix 服务器(完全在不同的网络上)可供我通过 onsoctcp 协议进行连接。

是否有人设法通过 onsoctcp 协议与 .NET Informix 提供程序类进行连接?

提前致谢。

【问题讨论】:

    标签: .net informix provider


    【解决方案1】:

    您是否查看过 ConnectionStrings.com? On this page,他们使用onsoctcp 选项:

    数据库=myDataBase;主机=192.168.10.10;服务器=db_engine_tcp;服务=1492; 协议=onsoctcp;UID=myUsername;Password=myPassword;

    【讨论】:

    • 是的,我做到了。当我尝试在连接字符串中包含新参数(例如 Host 和 Protocol)时,它将引发 InvalidArgument 异常。我还尝试遵循 IBM 在 publib.boulder.ibm.com/infocenter/idshelp/v10/index.jsp?topic=/… 上的指南和文档
    • 这可能是因为我试图在我的机器上进行内部连接,它可能需要与连接到外部源时不同的连接字符串。在连接到外部源时,我会尝试使用不同的组合——这似乎是一个反复试验的案例
    • 使用最少的安装选项重新安装客户端 SDK 并配置和调整 SetNet32.exe(例如数据库和客户端区域设置)后,我使用了以下连接字符串,它对我来说就像一个魅力:Host=10.81.64.1; Server=serverName; Database=myDB; User ID=myUsername; Password=myPassword; 谢谢你的帮助 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-02
    • 1970-01-01
    • 2016-10-02
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多