我正在尝试连接到Informix数据库服务器(v10),我正在使用Informix Data Provider .NET类库通过.NET应用程序建立连接并检索数据。
最初我在本地计算机上设置了Informix服务器,以便对此库进行一些测试。有趣的是,有两种情况,其中一种连接字符串起作用,另一种情况不起作用。
场景1:服务器设置为通过协议'drsoctcp'连接,连接字符串如下:
connectionString="Server=my.server.com:9088; Database=mytestdb; User ID=user; Password=mypass; Persist Security Info=True; Authentication=Server;"
由于使用的协议是'drsoctcp'
,因此上述工作正常场景2:服务器设置为通过协议'onsoctcp'连接,连接字符串与上面完全相同。连接将不起作用,抛出的错误是:
ERROR [08001] [IBM] SQL30081N通信错误或已经发生过 检测。使用的通信协议:“TCP / IP”。沟通 正在使用的API:“SOCKETS”。检测到错误的位置: “fe80 :: 1:10 9:c212:ce44%10”。通讯功能检测 错误:“recv”。协议特定的错误代码:“”,“”,“0”。 SQLSTATE = 08001
'my.server.com'是我在LAN上识别的工作机器的名称。我也尝试使用localhost或IP地址(127.0.0.1和外部IP地址),但仍然没有成功。
真正的问题就在这里:我希望连接到的Informix服务器(完全位于不同的网络上)可供我仅通过onsoctcp协议进行连接。
有没有人设法通过onsoctcp协议与.NET Informix提供程序类连接?
提前致谢。
答案 0 :(得分:1)
你检查过ConnectionStrings.com吗? On this page,他们使用onsoctcp
选项:
数据库= MYDATABASE;主机= 192.168.10.10;服务器= db_engine_tcp;服务= 1492; 协议= onsoctcp; UID =名为myUsername;密码= MYPASSWORD;