Visual studio 2015 使用testconn40.exe测试ibm数据服务器连接
您好,我在尝试测试与informix服务器的连接时出错。我所做的步骤: 1.安装IBM数据服务器客户端 2.安装IBM Data Server运行时客户端 3.之后,我使用cmd导航到数据服务器驱动程序包\bin\netf40 执行了这三行代码Visual studio 2015 使用testconn40.exe测试ibm数据服务器连接,visual-studio-2015,informix,Visual Studio 2015,Informix,您好,我在尝试测试与informix服务器的连接时出错。我所做的步骤: 1.安装IBM数据服务器客户端 2.安装IBM Data Server运行时客户端 3.之后,我使用cmd导航到数据服务器驱动程序包\bin\netf40 执行了这三行代码 gacutil /i IBM.Data.DB2.dll gacutil /i IBM.Data.DB2.Entity.dll gacutil /i IBM.Data.Informix.dll 4.Visual Studio内置IBM数据库外接程序(我有
gacutil /i IBM.Data.DB2.dll
gacutil /i IBM.Data.DB2.Entity.dll
gacutil /i IBM.Data.Informix.dll
4.Visual Studio内置IBM数据库外接程序(我有2015版)
我想做的是使用参考IBM.Data.DB2或IBM.Data.informix来替换连接到informix服务器的旧odbc方式
但是在做更多的事情之前,当测试我与testconn40.exe的连接时,我在步骤3中遇到了通信错误。下面是我在cmd中运行的代码
testconn40.exe -ids database=ibis2;server=192.168.1.2:9088;userid=informix;password=informix
这给了我这行代码
using Common Informix .NET provider
Step 1: Printing version info
.NET Framework version: 4.0.30319.42000
Factory for invariant name IBM.Data.Informix verified
IBM.Data.Informix from DbFactory is the Common Informix .NET provider
Common Informix .NET provider version: 9.7.4.4
Common Informix .NET provider file version: 11.1.2020.4
Capability bits: ALLDEFINED
Build: s1706091900
Warning, failed load of DbFactory for:IBM.Data.Informix.11.1.0
Warning, failed load of DbFactory for:IBM.Data.Informix.11.1.1011
IBM Database Add-ins assembly version: 9.1.0.0
IBM Database Add-ins file version: 11.1.2020.5
Elapsed: 0,248704
Step 2: DB2DSDRIVER_CFG_PATH env var: unset
Validating db2dsdriver.cfg against db2dsdriver.xsd schema file
File searched at C:\ProgramData\IBM\DB2\DB2COPY1\cfg\db2dsdriver.cfg missing. Nothing to validate
Elapsed: 0,0070187
Step 3: Connecting using Common Informix provider "database=ibis2;server=192.168.1.2:9088;userid=informix;password=informix"
Unable to open socket to server:
ERROR [08001] [IBM] SQL30081N A communication error has been detected. Communication protocol being used: "TCP/IP". Communication API being used: "SOCKETS". Location where the error was detected: "192.168.1.2". Communication function detecting the error: "recv". Protocol specific error code(s): "*", "*", "0". SQLSTATE=08001
Some things to consider:
- is the port number correctly specified
50000 is the default for LUW servers
svcename dbm cfg parm for LUW servers
446 is the only port for iSeries servers, default for zSeries
- for a LUW server, is the TCPIP listener started
db2set DB2COMM=TCPIP, db2stop / db2start
- for an Informix server, ensure DRDA listener is started
and you are using DRDA port vs the SQLI port
Test failed.
您的IDS服务器是否已启用DRDA连接? 本机Informix CSDK使用SQLI协议进行通信,但IBM数据服务器驱动程序使用DRDA。 您在testconn40输出中看到的错误通常意味着您正在尝试连接到SQLI侦听器,而不是DRDA侦听器 基本上,您需要在onconfig文件中定义一个别名(dbserveralias),指向sqlhosts文件中以“drsoctcp”作为协议的条目
如果您已经完成了默认安装,它应该已经存在,因此只需使用该端口/服务而不是olsoctcp端口即可。任何人都可以吗?我想我没有启用DRDA,请检查一下,谢谢:)