[英]AS400 Java set library for file at runtime
我已經編寫了在iSeries AS400上執行的Java程序。 在該程序中,我使用到同一台機器的JDBC連接來查詢文件中的數據,例如
select *
from xyzcapad.myFile
where lastName = 'Max'
多個庫中存在相同的文件名和結構(不是數據!),因為我們的AS400上有多個環境,每個環境都有自己的默認庫。
因此,當我現在啟動程序並在使用庫xyzcapad的環境中運行該程序時,一切運行良好。 但是,如果我在另一個環境中運行它,如何告訴程序對該表使用另一個默認庫?
使用JDBC時,可以使用SET SCHEMA
語句來選擇一個庫,如下所示:
set schema xyzcapad;
然后像這樣執行你的sql:
select *
from myFile
where lastName = 'Max';
請注意,表名稱不合格。 在這種情況下,它將使用通過上面的set schema
語句設置的默認模式。
編輯
這是我的最終代碼,可以正常工作:
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);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.