2012-11-08 110 views
0

我在連接IBM DB2時出現以下錯誤。PHP 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

看起來您的腳本無法找到或沒有打開IBM DB2 ODBC驅動程序的權限。 – dan1111

回答

1

數據源名稱未找到和指定默認驅動程序SQLCODE = 0

unixODBC驅動程序管理器無法找到驅動程序的列表稱爲[IBM DB2 ODBC驅動程序]驅動程序在其odbcinst.ini文件中。

運行: -

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 

採取爲您的數據源的 「Drivers」 文件看看。如果不在那裏,你需要添加一個。如果有,請檢查被引用的庫是否位於機器庫路徑中。