2012-03-05 145 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