1

我正在使用 CentOS 版本 5.6(最终版)和 PHP 5.1.6(cli)(构建时间:2012 年 2 月 2 日 18:24:47)。我需要连接同一本地网络中的 DB2 数据库服务器。Db2 版本是 V5R3。我已经安装了 iSeriesAccess 客户端以及 unixODBC。

我的 odbc.ini 配置:

[iSeries Access ODBC Driver]
Description             = iSeries Access for Linux ODBC Driver
Driver          = /opt/ibm/iSeriesAccess/lib/libcwbodbc.so
Setup           = /opt/ibm/iSeriesAccess/lib/libcwbodbcs.so
NOTE1           = If using unixODBC 2.2.11 or later and you want the 32 and 64-bit ODBC drivers to share DSN's,
NOTE2           = the following Driver64/Setup64 keywords will provide that support.
Driver64                = /opt/ibm/iSeriesAccess/lib64/libcwbodbc.so
Setup64         = /opt/ibm/iSeriesAccess/lib64/libcwbodbcs.so
Threading               = 2
DontDLClose             = 1

UsageCount              = 1

我正在运行以下代码:

<?php
$database = 'dbname';
$server = 'local_ip';
$user = 'username';
$password = 'password';
$driver = 'iSeries Access ODBC Driver';



$conn = odbc_connect("Driver={iSeries Access ODBC Driver};Server=$server;Database=$database;", $user, $password);
if (!$conn......)

我收到以下错误消息:“ [unixODBC][IBM][System i Access ODBC Driver]缺少连接所需的系统名称。错误!

有什么我想念的吗?欢迎您提出建议。

4

3 回答 3

5

属性Server应该是。System

有关连接字符串关键字常规属性的更多信息,请参见 i5/OS 信息中心 。

于 2012-03-04T17:19:11.463 回答
2
Can try with a working odbc.ini configuration

[DB2]
Description     = ODBC for DB2
Driver          = /opt/ibm/iSeriesAccess/lib/libcwbodbc.so
Setup           = /opt/ibm/iSeriesAccess/lib/libcwbodbcs.so
FileUsage               = 1
Threading               = 2
DontDLClose             = 1
UsageCount              = 1

[mydb]
Driver = DB2
SYSTEM = 172.16.10.1
USER = username
PASSWORD = userpass
PORT = 50000
DATABASE = db11
Option = 1 
于 2012-03-05T16:53:35.833 回答
0

检查这个线程:http ://www.jitterbit.com/PhpBB/viewtopic.php?f=4&t=87

“虽然这个线程有点过时,但我确实让我的 AS/400 连接正常工作。我不得不使用“DSN”选项并手动构建连接字符串。”

于 2012-03-04T17:13:23.380 回答