0

我在连接 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

请帮我连接数据库。

脚本如下。

$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());
}
4

1 回答 1

1

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

unixODBC 驱动程序管理器在其 odbcinst.ini 文件的驱动程序列表中找不到名为 [IBM DB2 ODBC 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

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

于 2013-04-29T13:06:29.057 回答