Select em dois bancos access

3 respostas
moacir_os

Pessoal boa tarde, gostaria de saber se é possível executar uma consulta sql em dois bancos distintos(access) tendo seu retorno em apenas um ResultSet?

Criei duas conexões com os bancos que funcionam normal, mas gostaria de montar um único select p/ os dois bancos, se não for possível terei de consultar um banco de cada vez e depois fazer outras comparações via códigio Java mesmo.

Abraços

Moacir

3 Respostas

T

Esse tipo de coisa é possível com o MS SQL Server e se não me engano com o Oracle (acho que ambos permitem consultas “heterogêneas”, mas não com o Access.

moacir_os

Thingol me parece que diretamente no Access(SGBD) vc conseque montar uma query am dois bds, mas o que não consegui entender é como montar essa consulta dentro de um programinha Java.

try	{
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            conexao1 = DriverManager.getConnection("jdbc:odbc:Contas"); // Conexao com fonte de dados
		 
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            conexao2 = DriverManager.getConnection("jdbc:odbc:Estoque"); // Conexao com fonte de dados
                
		} 
		catch (Exception e) {			
			System.out.println(e.getMessage());
		}

Defini dois objetos para conexão com os dois bds diferentes agora não consigo montar a query. Não sei se é possível p/ um objeto Connection apontar para dois bds(2 arquivos .mdb) diferentes, ou se teria como fazer algum “esquema” com um objeto da classe Statement.

Mas muito obrigado pelo comentário, caso eu consiga resolver posto a solução aqui.

T+

moacir_os

Conforme havia dito que colocaria a solução aqui caso conseguisse resolver meu problema e como consegui ai vai :slight_smile:

Havia lido em algum site/fórum que era possível realizar queries em mais de um banco Access dentro do próprio Access, então o que fiz p/ solucionar meu problema, apenas coloquei meu programinha java no mesmo diretório dos BDs, agora consigo realizar consultas da seguinte forma: SELECT campo1, campo2 …campoN FROM db1.mdb, db2.mdb WHERE blá blá blá.… detalhe que não preciso de dois objetos Connection nem Statement basta apenas a conexão p/ um dos MDBs p/ que consiga realizar queries no outro banco (claro que estando ambos bds no mesmo diretório), ex.: estabeleço conexão com o BD1 e realizo consultas no BD1 e BD2 como mencionei anteriormente(creio que o Driver JDBC se encarregue de encontar o BD2 desde que ele esteja no mesmo diretório)…

Enfim é isso…

Abraço galera

Criado 9 de fevereiro de 2007
Ultima resposta 21 de fev. de 2007
Respostas 3
Participantes 2