PHP DB2连接错误

时间:2012-11-08 04:07:23

标签: php connection db2

我在连接IBM DB2时遇到以下错误。

Connection failed.[unixODBC][Driver Manager]Data source name not found, and no default driver specified SQLCODE=0

这是我的phpinfo中的db2配置。

IBM DB2, Cloudscape and Apache Derby support:   enabled
Module release :    1.9.4
Module revision :   $Revision: 327944 $
Binary data mode (ibm_db2.binmode) :    DB2_BINARY
DB2 instance name (ibm_db2.instance_name) ; no value

Plz帮我连接数据库。

脚本如下。

$database = 'dbT';
$user = 'user';
$password = 'pswd';
$hostname = '10.250.10.11';
$port = 456;


$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;" .
  "HOSTNAME=$hostname;PORT=$port;PROTOCOL=TCPIP;UID=$user;PWD=$password;";
$conn = db2_connect($conn_string, '', '');


print $conn;

if ($conn) {
    echo "Connection succeeded.";
    db2_close($conn);
}
else {
print($conn);
    echo "Connection failed.";
    die(db2_conn_errormsg());
}

1 个答案:

答案 0 :(得分:1)

  

找不到数据源名称,并且没有指定默认驱动程序SQLCODE = 0

unixODBC驱动程序管理器在其odbcinst.ini文件的驱动程序列表中找不到名为[IBM DB2 ODBC DRIVER]的DRIVER。

运行: -

odbcinst -j

这将显示如下: -

unixODBC 2.3.0
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /home/richard/.odbc.ini
SQLULEN Size.......: 4
SQLLEN Size........: 4
SQLSETPOSIROW Size.: 2

查看数据源的“驱动程序”文件。如果不存在,则需要添加一个。如果在那里检查被引用的库是否在您的机器库路径中。