AS400上のファイルに対して基本的なSQL(この場合は挿入)を実行する必要があります。Windows 2008で実行されているC#でシッククライアントのコマンドラインアプリを作成しています。
ライブラリとファイルを次のように指定した場合:
insert into somelibrary.somefile (col1,col2) values val1,val2
その後、それは動作します。問題は、の値がsomelibrary
ユーザーと環境によって異なることです。ライブラリリスト*LIBLを使用して、ユーザーが割り当てられているすべてのライブラリを正しい順序で取得できるようにします。可能であれば、構成ファイルを使用する必要はありません。
私がテストしているユーザーのライブラリリストには、を含むライブラリがありますsomefile
。私が試してみると:
insert into somefile (col1,col2...) values val1,val2
エラーが発生します:
ERROR [42S02] [IBM][System i Access ODBC Driver][DB2 for i5/OS]SQL0204 - somefile in username type *FILE not found.
SQLと接続文字列に*LIBLを追加しようとしましたが、ファイルが見つかりません。ライブラリとファイルを区切るためにスラッシュを使用するだけでなく、かなりの数の組み合わせを試しました。
関連する場合、接続文字列は次のとおりです。
Driver={Client Access ODBC Driver (32-bit)}; System=" + server + "; UID=" + DBUser + "; PWD=" + DBPassword + ";";