AS400运行时Java文件集库

时间:2017-09-23 17:40:53

标签: java sql ibm-midrange

我编写了一个在iSeries AS400上执行的Java程序。在该程序中,我使用JDBC连接到同一台机器来查询文件中的数据,如

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

多个库中存在相同的文件名和结构(不是数据!),因为我们的AS400上有多个环境,每个环境都有自己的默认库。

因此,当我现在启动程序并在使用库xyzcapad的环境中运行它时,一切正常。但是,如果我在另一个环境中运行它,我怎么能告诉我的程序使用该表的其他默认库?

1 个答案:

答案 0 :(得分:1)

使用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);
        }

    }