Несколько баз данных db2 и sql server с одним запросом - PullRequest
0 голосов
/ 22 мая 2019

База данных db2 называется panth01, база данных sqlserver называется proof

Как видно из кода, я сделал один запрос для извлечения языка в db2 и языка в sqlserver.

Проблема в том, что в Db2 столбец называется LANGUAGE. В sqlserver столбец называется LINGUA

* 1006. * В db2 столбец LANGUAGE имеет два слова "en". В SqlServer столбец LINGUA имеет три угла "eng"

Я сделал запрос:

//DB2
private static final String DB_DRIVER_DB2 = "com.ibm.db2.jcc.DB2Driver";
private static final String DB_CONNECTION_DB2 = "jdbc:db2://10.12.230.83:50000/PANTH01";
private static final String DB_USER_DB2 = "finance";
private static final String DB_PASSWORD_DB2 = "finance";

//SQLSERVER
private static final String DB_DRIVER_SQLSERVER = "net.sourceforge.jtds.jdbc.Driver";
private static final String DB_CONNECTION_SQLSERVER = "jdbc:jtds:sqlserver://10.65.21.15:1433;DatabaseName=PROVA";
private static final String DB_USER_SQLSERVER = "sa";
private static final String DB_PASSWORD_SQLSERVER = "sa";

public void selectTHERACLASS_HDR_THERACLASS_HDR_NLS() throws Exception {

//DB2_inizio
Connection dbConnection = null;
Statement statement = null;
//DB2_fine

//SqlServer_inzio
Connection dbConnectionSqlServer = null;
Statement statementSqlServer = null;
//SqlServer_fine

//Query SqlServer and db2
String query = "select PANTH01.THERA.CLASS_HDR.LANGUAGE, PROVA.DIZIOPT.LINGUA from PANTH01.THERA.CLASS_HDR JOIN PROVA.DIZIOPT.LINGUA ON PANTH01.THERA.CLASS_HDR.LANGUAGE = PROVA.DIZIOPT.LINGUA";

try {
//DB2_inizio
dbConnection = getConnectionDb2();
statement = dbConnection.createStatement();
//DB2_fine

//sqlserver_inizio
dbConnectionSqlServer = getConnectionSqlServer();
statementSqlServer = dbConnectionSqlServer.createStatement();
ResultSet rSqlServer = statementSqlServer.executeQuery(query);
//sqlserver_inizio_fine

while (rSqlServer.next()) {


String language = rSqlServer.getString("LANGUAGE");
String lingua = rSqlServer.getString("LINGUA");

System.out.println("LANGUAGE: " + language);
System.out.println("LINGUA: " + lingua);
}

} catch (SQLException e) {

System.out.println(e.getMessage());

} finally {

if (statement != null && statementSqlServer != null) {
statement.close();
statementSqlServer.close();
}

if (dbConnection != null && dbConnectionSqlServer != null) {
dbConnection.close();
dbConnectionSqlServer.close();
}
}
}

Вывести недопустимое имя объекта 'PANTH01.THERA.CLASS_HDR'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...