Select usando JOIN entre databases DB2 distintos (máquinas diferentes)

2 respostas
T

Preciso fazer um join entre tabelas de bancos diferentes.
Ambos são DB2 porém em IP’s distintos.
Já cataloguei os mesmos e criei as conexões.
Minha dúvida é como fazer um select com inner join, visto que estou usando Statements distintos.
Alguém teria algum exemplo ou roteiro de como se faz isso?

[color=blue]Connection conn1 = null;

Statement stm1 = null;

try {

String Driver = new String(“COM.ibm.db2.jdbc.app.DB2Driver”);

String Url = new String(“jdbc:db2:banco1”);

String user = …

String password = …

Class.forName(Driver);

conn1 = DriverManager.getConnection(Url, user, password);

stm1 = conn1.createStatement();

}

catch (Exception e) {

out.println(“Ocorreu exceção.”);

}
Connection conn2 = null;

Statement stm2 = null;

try {

String Driver = new String(“COM.ibm.db2.jdbc.app.DB2Driver”);	

String Url = new String(“jdbc:db2:banco2”);

String user = …

String password = …

Class.forName(Driver);

conn2 = DriverManager.getConnection(Url, user, password);

stm2 = conn2.createStatement();

}

catch (Exception e) {

out.println(“Ocorreu exceção.”);

}[/color]

2 Respostas

cv1

Eu nao consigo ver nenhum jeito de fazer um join entre tabelas que estao em duas Connections diferentes… talvez a saida seja fazer o join na mao, iterando sobre os registros das duas e comparando. Nao eh lah a coisa mais bonita do mundo, mas…

mister_m

Não lembro se existe isso no DB2, mas geralmente a melhor solução pra esses problemas é criar uma view/sinônimo pra tabela remota em um dos bancos e deixar que seu SGDB se preocupe com esse problema por você.

Criado 6 de abril de 2005
Ultima resposta 6 de abr. de 2005
Respostas 2
Participantes 3