AS/400上で稼働しているDB2/400にADO.NET(OLD DBプロバイダ経由)で接続する方法です。
前提として「IBM i Access for Windows」がインストールされている必要があります。
接続文字列は「Provider=IBMDA400;Data Source=ホスト名またはIPアドレス;User ID=ユーザID;Password=パスワード;」です。
複数のライブラリを参照する際には、接続文字列で「Library List=ライブラリ1,ライブラリ2」のように記述すると参照できます。デリミタ文字は”,”(カンマ)です。
ライブラリ名を列挙する際に余分な空白を入れてしまうと接続時にエラーが発生します。(これにハマりました)
Dim Con As New OleDb.OleDbConnection("Provider=IBMDA400;Data Source=ホスト名またはIPアドレス;User ID=ユーザID;Password=パスワード;Library List=ライブラリ1,ライブラリ2;") Con.Open()
以前は、下記のソースのようにCHGLIBLコマンドで指定して切り替えていた記憶があるのですが、接続時にLibrary Listオプションで指定してしまった方が簡単そうです。
Dim Cmd As New OleDb.OleDbCommand("{CHGLIBL LIBL(ライブラリ1,ライブラリ2)}", Con) Cmd.Open()
Please give us your valuable comment