IBM DB2的db2连接问题 [英] Db2 connection problem with IBM DB2

查看:141
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆