Como fazer um join com tabelas de bases diferentes usando JDBC, com MySQL?

2 respostas
Roger75

No MySQL consigo fazer um join com tabelas de bases diferentes. Exemplo:

SELECT c.customer_name, o.order_date FROM db1.tbl_customers c LEFT JOIN db2.tbl_orders o ON o.customer_id = c.id

Porém, em JDBC estabeleço a conexão por cada database:

conexao = DriverManager.getConnection("jdbc:mysql://" + host+":"+port + "/database_name?zeroDateTimeBehavior=convertToNull", usuario, senha);

Como eu faço o join acima com JDBC, se cada conexão é por database?

2 Respostas

D

KRa, seguinte, pesquise por federated no mysql. É um esquema que vc adiciona uma tabela remota no seu banco, acho que pode resolver o seu problema.

Na criação da tabela, vc aponta em que server ela está, ai fica como se fosse uma tabela normal no banco so que remota.

Boa sorte

ivandasilva

Cara você pode fazer os dois selects e o join fazer via aplicação :smiley: ou criar um sinonimo em um dos banco de dados, eu sei que no Oracle você pode fazer isto mas tem que ter um DBLink entre as bases.

Criado 23 de dezembro de 2010
Ultima resposta 23 de dez. de 2010
Respostas 2
Participantes 3