Visual studio 2015 使用testconn40.exe测试ibm数据服务器连接

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数据库外接程序(我有

您好,我在尝试测试与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数据库外接程序(我有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,请检查一下,谢谢:)