3

DB2i に接続するための私の odbc 接続文字列は次のようになります。

Driver={Client Access ODBC Driver (32-bit)};system=xx.xx.xx.xx;dbq=LIB1 LIB2 LIB3 LIB4 LIB5 LIB6 LIB7 LIB8;languageid=ENU;qrystglmt=-1;cmt=0;signon=1

上記の接続文字列は、使用する複数のライブラリ/スキーマを指定します。しかし、最初のライブラリ以外のライブラリ (LIB2...LIB8 など) からファイル/テーブルにアクセスしようとすると、「FILE xx が LIB1 に見つかりません」という例外が発生します。

他の指定されたライブラリでファイル/テーブルを自動的に検索しないのはなぜですか?最初のライブラリでのみファイルを検索します。

この状況の回避策が必要です。

4

3 に答える 3

4

接続文字列に追加して、 「システム命名」モードを使用します。naming=1

ライブラリ リストで、最初のライブラリの前にカンマを置きます。

Driver={Client Access ODBC Driver (32-bit)};system=systemname;naming=1;
dbq=,LIB1,LIB2,LIB3,LIB4,LIB5,LIB6,LIB7,LIB8;languageid=ENU;cmt=0;signon=1
于 2013-12-13T05:02:50.413 に答える
1

これは、マニュアルに記載されているとおりに機能します。

ライブラリー・リストは、未修飾のストアード・プロシージャー呼び出しを解決し、カタログ API 呼び出しでライブラリーを見つけるために使用されます。... 注: このプロパティにリストされている最初のライブラリは、SQL ステートメントの非修飾名を解決するために使用される既定のライブラリにもなります。

于 2013-12-12T22:49:19.360 に答える