Comparar tabelas em bases diferentes - [RESOLVIDO]
2 respostas
N
nandobonacordi
Boa tarde, galera já olhei no java básico, avançado e nesse aqui também…
ps: não sei quase nada de Java e o bicho é tenso.
Estou tentando realizar uma consulta no Oracle através do netbeans.
tenho aqui 2 bases - Banco_A e Banco_B
gostaria de comparar Banco_A.tabela1 com Banco_B.tabela1
e retornar os resultados que forem diferentes.
Mas quem diz de eu achar como faz isso.
A principio como não descobri como fazer o que queria..
criei um novo banco com 2 tabelinhas que irão receber minhas 2 tabelas e nesse novo Banco faço só a consulta porque se fizer os inserts e updates tava demorando e deixando tudo lerdo.
ahh foi o que consegui fazer, sugestões são bem vindas.
publicResultSetComparacao(){Connectionpacs=conexaoOracle();Conexao_SQLServersql=newConexao_SQLServer();Conexao_ORCLpio=newConexao_ORCL();PreparedStatementstm,stm2,stm3,stm4;ResultSetrs=null;ResultSetrs2=null;try{stm=pacs.prepareStatement("SELECT");//stm.setString(1, comp);rs=stm.executeQuery();try{stm2=pio.conexaoORCL().prepareStatement("SELECT");rs2=stm2.executeQuery();while(rs.next()&&rs2.next()){try{stm3=sql.Conexao_SQLServer().prepareStatement("INSERT/UPDATE");stm3.setString(1,rs.getString("AN"));stm3.setString(2,rs.getString("NOME"));stm3.setString(3,rs.getString("DATA"));stm4.setString(1,rs2.getString("ACN"));stm3.execute();stm3.close();stm4.execute();stm4.close();}catch(Exceptionerro){//Resultado finalJOptionPane.showMessageDialog(null,"Ocorreu um erro de INSERCAO.!"+"\n"+erro.getMessage(),"Conexão",3);erro.printStackTrace();}}}catch(SQLExceptione){//RS2System.out.println("Erro SQL RS2: "+e);}returnrs2;}catch(SQLExceptionex){//RSSystem.out.println("Erro SQL RS: "+ex);}returnrs;
B
bomba544
Procure por dblink. Já consegui fazer o que você queria em banco separados também. A única maneira que consegui, foi dessa maneira. (PostgreSQL)
Conectar com outro banco
select dblink_connect('string de conexão aqui');
Consulta:
select dblink_exec('select codigo from funcionario') as apelido_tabela (codigo integer);
Agora pasta fazer a união do dados do banco 2 com a tabela do banco que você estiver executando a consulta.
Faz tempo que utilizei. Só precisas verificar a syntax, mas acredito que seja isso.