ODBC连接到具有PHP 5.3.6-13ubuntu3.6的DB2实例失败
我已经为Linux安装了DB2 Express-C V9.7、unixODBC php5 odbc和iSerie-5.4.0-1.6驱动程序,但是当我尝试连接到DB2服务器时,php返回以下消息:ODBC连接到具有PHP 5.3.6-13ubuntu3.6的DB2实例失败,php,odbc,db2,ibm-midrange,Php,Odbc,Db2,Ibm Midrange,我已经为Linux安装了DB2 Express-C V9.7、unixODBC php5 odbc和iSerie-5.4.0-1.6驱动程序,但是当我尝试连接到DB2服务器时,php返回以下消息: [unixODBC][IBM][iSeries Access ODBC Driver]Communication link failure. comm rc=10061 - CWBCO1049 - The iSeries server application is not started, SQL
[unixODBC][IBM][iSeries Access ODBC Driver]Communication link failure. comm rc=10061 -
CWBCO1049 - The iSeries server application is not started, SQL state 08004 in SQLConnect
我注意到使用tcpdump时,php尝试在端口8741而不是50000上进行连接
netstat-anp告诉我DB2侦听端口50000
这是我的配置文件
/etc/odbcinst.ini:
[DB2]
Description = ODBC for DB2
Driver = /opt/ibm/iSeriesAccess/lib/libcwbodbc.so
Setup = /opt/ibm/iSeriesAccess/lib/libcwbodbcs.so
FileUsage = 1
Threading = 2
DontDLClose = 1
UsageCount = 1
/etc/odbc.ini
[local_db2]
Driver = DB2
System = localhost
User = db2inst1
Password = MySecretPassword
Port = 50000
Database = dbname
Option = 1
还有我的PHP脚本:
$dsn=“local_db2”;
$user=“db2inst1”;
$passwd=“MySecretPassword”;
$conn=odbc\u connect($dsn,$user,$passwd);
echo“votre id de connexion est:$conn”;
如果($conn,则可能数据库主机服务器尚未启动。数据库主机服务器接受到数据库的TCP/IP连接
您可以使用命令WRKACTJOB SBSD(QSERVER)JOB(QZDASRVSD)
检查它当前是否处于活动状态
启动它的命令是:STRHOSTSVR服务器(*数据库)
默认端口是8471。我是DB2新手,但我的系统上没有wrkactjob和strhostsvr实用程序。我认为这是OS/400命令,但我在ubuntu Linux上运行DB2如果你在Linux上运行DB2为什么要使用iSeries Access DB2驱动程序?你应该使用标准的DB2驱动程序,例如。iSeries驱动程序只用于c连接到DB2/400。请更新您的问题,说明实际问题是什么,以及您是如何解决的。
[DBNAME]
Driver=DB2
[ODBC]
Trace = yes
Tracefile = /tmp/odbc.log
[DB2]
Description = DB2 Driver
Driver = /opt/ibm/db2/V9.7/lib32/libdb2.so
FileUsage = 1
DontDLClose = 1