我在连接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());
}
答案 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
查看数据源的“驱动程序”文件。如果不存在,则需要添加一个。如果在那里检查被引用的库是否在您的机器库路径中。