IBM DB2的db2连接问题 [英] Db2 connection problem with IBM DB2
本文介绍了IBM DB2的db2连接问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使用php连接db2数据库。现在,我要编写一些与此类似的代码(调用存储过程):
I am trying to connect a db2 database using php. Now, i am gonna write some code similar to this(call a stored procedure):
$proc = 'CALL MyLib.MySP(?, ?, ?)';
$stmt = db2_prepare($conn, $proc) or die("db2_prepare failed<br>");
// Define input variable values //
$paramIN1 = ...;
$paramIN2 = ...;
$paramOUT3 = "";
// Define parameters //
db2_bind_param($stmt, 1, "paramIN1", DB2_PARAM_IN);
db2_bind_param($stmt, 2, "paramIN2", DB2_PARAM_IN);
db2_bind_param($stmt, 3, "paramOUT3", DB2_PARAM_OUT);
// Display results set //
if (db2_execute($stmt)) {
while ($row = db2_fetch_array($stmt)) {
print " {$row[0]}, {$row[1]}, {$row[5]}<br>";
}
}
连接代码:
$user = 'user';
$password = 'pass';
$hostname = 'ip';
$db = 'db';
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};HOSTNAME=$hostname;PROTOCOL=TCPIP;UID=$user;PWD=$password;DATABASE=$db;";
$conn = db2_connect($conn_string, $user, $password);
此处连接失败。从db2_conn_errormsg()返回的错误消息是:
Connection fails here. Error message returned from db2_conn_errormsg() is:
"[IBM][CLI Driver] SQL1032N No start database manager command was issued. SQLSTATE=57019 SQLCODE=-1032"
这是一个AS / 400系统。使用odbc,我们可以毫无问题地连接数据库并与之对话。
This is an AS/400 system. With odbc we can connect and talk to database without a problem.
推荐答案
您可以使用以下方式与db2连接:
You can connect with db2 using:
$dbh = db2_connect('*LOCAL', $user, $password, array("i5_lib"=> $db);
如果DB2数据库和ZendServer在同一个IBM i中,则为'* LOCAL',否则为DB2名称。
If the DB2 database and the ZendServer are in the same IBM i then '*LOCAL', else the DB2 name.
这篇关于IBM DB2的db2连接问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文