首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于iSeries IBM DB2的

用于iSeries IBM DB2的
EN

Stack Overflow用户
提问于 2015-08-10 14:59:51
回答 1查看 2.3K关注 0票数 1

我试图在Windows 7 (64位)上获得一个PDO连接(php5.4),以连接到iSeries IBM AS/400。我的最终目标是使用Yii2,它使用PDO。

为了与PDO驱动程序兼容,我使用了php5.4,因为php5.5无法加载IBM_DB2的PDO扩展。我最初使用以下连接字符串让IBM DB2 odbc驱动程序使用PDO运行:

代码语言:javascript
复制
 try {
  $dbc = new PDO("ibm:DRIVER={IBM DB2 ODBC DRIVER};
         DATABASE=MYDB;"."HOSTNAME=myhost;", "myuser", "mypassword");
 } catch (PDOException $e) {
     print "Error!: " . $e->getMessage(). "<br/>";
     die();
 }

...but I从主机收到连接错误。也许这是iSeries的错误驱动程序?

然后,我在中找到了一个iSeries Access ODBC驱动程序,并认为这可能是需要的驱动程序。我必须执行系统还原才能使iSeries Access ODBC驱动程序正常工作,但还原卸载了另一个IBM DB2驱动程序。现在正确显示iSeries访问ODBC驱动程序。

但是,现在PDO扩展无法加载。它抱怨db2cli.dll失踪了。在试图修复thsi时,它还重新安装了旧的IBM DB2 ODBC驱动程序连接。注意:我仍然收到错误消息。

1) IBM DB2 ODBC驱动程序会与iSeries一起工作吗?

2)缺少的db2cli.dll消息是否表明PDO连接确实绑定到indicate?我想知道PDO驱动程序是否可以/应该与iAccess扩展一起使用。

任何帮助都是非常感谢的。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-10 19:12:10

这两个ODBC驱动程序都是必需的,而且连接字符串是错误的。

1)为了摆脱db2cli.dll消息,必须从iSeries下载odbc驱动程序(除了iSeries ODBC驱动程序的客户端访问7.1.zip之外),然后必须手动更新路径以指向db2cli.dll文件。

2)连接字符串如下(包括花括号)

代码语言:javascript
复制
$dbc = new PDO("odbc:DRIVER={iSeries Access ODBC DRIVER}; ", 
    "SYSTEM={foobar}; ",  
    "DATABASE={dbname}; ", 
    "UID={foo}; ", 
    "PWD={bar}");
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31922915

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档