2012-03-05 113 views
2

我有问题连接到DB2的iSeries使用IBM.Data.DB2.iSeries,但我可以用System.Data.OdbcDB2 iSeries的AS400 - 数据库连接

使用System.Data.Odbc容易 连接:

  1. 我创建系统DSN - 系统:10.33.15.3,DSN名称:mm370lib,驱动程序:i系列访问ODBC驱动程序

  2. 用C#ODBC连接字符串: “DSN = mm370lib; UID =名为myUsername; P WD = MYPASSWORD;”

如何使用IBM.Data.DB2.iSeries建立连接?

+1

http://warnajith.blogspot.com/2011/02/connecting-db2iseries-from-net.html阅读本link.you必须安装驱动程序的iSeries调用机器 – Renushi 2012-03-05 11:07:45

回答

1

终于迈出,我已经成功地连接使用 “IBM客户端访问OLE DB提供程序” 使用连接字符串格式从http://www.connectionstrings.com/as-400#p60取。

Provider=IBMDA400;Data Source=MY_SYSTEM_NAME;User Id=myUsername;Password=myPassword;Default Collection=MY_LIBRARY; 

因此,使用上面的参数我实际的连接字符串是:

Provider=IBMDA400;Data Source=10.33.15.3;User Id=ICTDEV;Password=******;Default Collection=mm370lib; 

我一直在使用COM使用此连接也是我的PHP程序。

这里是代码片段:

include('application/libraries/adodb5/adodb.inc.php'); 
$this->db = ADONewConnection('ado'); 
$dsn = "Provider=IBMDA400;Data Source=10.33.15.3;UserId=ICTDEV;Password=******;Default Collection=mm370lib;"; 
$this->db->PConnect($dsn); 
+0

这绝对没有用。仍然得到连接字符串无效的错误 – 2015-10-07 20:02:32

+0

你使用的操作系统是什么?这只适用于Windows。鉴于你已经安装了iSeries驱动程序。 – rechie 2015-10-08 01:50:20

2

直接从ConnectionStrings

ODBC
Driver={iSeries Access ODBC Driver};System=my_system_name;Uid=myUsername;Pwd=myPassword;

NET
DataSource=myServerAddress;UserID=myUsername;Password=myPassword; DataCompression=True;

+0

这是我的odbc连接字符串,但我想使用IBM.Data.DB2.iSeries驱动程序。谢谢! – rechie 2012-03-05 10:15:46

+0

我已经更新了我的答案。 – Steve 2012-03-05 10:21:59

+0

您还可以为您的DB2连接指定各种其他选项,例如DefaultCatalog,LibraryList,DataCompression等等...... IBM对[this]有合适的参考(http://www.redbooks.ibm.com/redbooks/ pdfs/sg246440.pdf) – 2012-03-07 09:38:18