2017-09-23 4 views
0

iSeries AS400で実行されるJavaプログラムを作成しました。我々はAS400上の複数の環境を持っているので、そのプログラムの中で、私は(ないデータ!)AS400実行時のファイル用Javaセット・ライブラリー

select * 
from xyzcapad.myFile 
where lastName = 'Max' 

同じファイル名や構造などのファイルからデータを照会するために、同じマシンにJDBC接続を使用する複数のライブラリに存在しますそれぞれに独自のデフォルトライブラリがあります。

私は今、プログラムを起動し、ライブラリxyzcapadを使用している環境で実行すると、すべて正常に動作します。しかし、私が別の環境でそれを実行すると、そのテーブルに他のデフォルトライブラリを使用するように私のプログラムに指示することはできますか?

答えて

1

あなたはJDBCを使用している場合は、あなたがこのようなライブラリを選択しSET SCHEMAステートメントを使用することができますが:

set schema xyzcapad; 

次に、このようなあなたのSQLを実行します。

select * 
    from myFile 
    where lastName = 'Max'; 

はテーブル名ではありません注意してください修飾されたその場合、上記のset schemaステートメントを使用して設定されたデフォルトのスキーマが使用されます。

EDIT

ここで働いてそれを得た私の最終的なコード:

public void connectAS400(){ 
     as400 = new AS400("my.company.com","user","password"); 
     AS400JDBCDataSource datasource = new AS400JDBCDataSource(as400); 

//  datasource.setLibraries("xyzcapad"); 
     datasource.setTranslateBinary(true); 
     datasource.setNaming("system"); 
     try { 
      connection = datasource.getConnection(); 
     } catch (Exception e) { 
      System.err.println(e); 
     } 

    } 
+0

感謝しますが、実際に、私は私が最初の場所で、現在午前どのような環境で情報を取得するために何かを必要としていました。 –

+0

デフォルトでライブラリリストを使用する 'system'ネーミングを提案しようとしていましたが、私はあなたの編集を見てそれを受け入れました。 – jmarkmurphy

関連する問題