Boa Tarde galera,
Estou com uma missão aqui e estou tendo algumas dúvidas. Pediram para que eu criasse um programa desktop que pegasse todos os dados de um banco oracle e os migrasse para um MS-Access. As conexões foram bem sucedidas, tudo certinho. O que eu estou tendo problemas é : qual a melhor forma de fazer isso? Os bancos já estão identicos em questões de tabelas de campos e talz.
Desde já Obrigado!
eu já tenho um programa que faz isso em vb e utilizo um laço para inserir os dados assim se tiver algum erro de acentuação e coisa do tipo fica fácil de achar o erro
Cara você pode criar uma arquitetura usando JPA com Hibernate mapeando suas classes assim como as tabelas do banco, assim terá certeza que os tipos de dados serão os mesmos entre os bancos, depois vc pode criar conexões para as duas bases e cria um laço onde vai pegando de um e passando para o outro. Há bibliotecas que faz isso pra vc automaticamente, conecta o banco e constrói todo mapeamento JPA pra vc, deixando assim muito mais produtivo o trabalho.
Fala Diogo! Brigadao pela dica cara. Mas surgiu mais alguns problemas… Quando me conecto ao banco de dados access não aparece nenhuma esquema para eu escolher. Além disso, não consigo trazer as rows da pesquisa em forma de objetos e nem inseri-las em forma de objetos. Sabe como eu consigo resolver isso? Olhei o dia todo no google e nada solucionou.
Exemplos:
Insert Object
http://www.winstonprakash.com/articles/netbeans/JPA_Add_Update_Delete.html
Para consuta
public Object consultarID(Class<T> clazz,Integer pk) throws Exception{
try {
Serializable obj = (Serializable) session.get(clazz, pk );
session.flush();
return obj;
}catch(Exception e){
transaction.rollback();
throw new Exception(e);
}finally{
session.close();
}
}
Ou uma lista
public List<T> listar(Class<T> clazz) throws Exception{
try{
Criteria selectAll = session.createCriteria(clazz);
return selectAll.list();
}catch(Exception e){
throw new Exception(e);
}finally{
session.close();
}
}
outro detalhe, você vai precisar desativar as chaves no banco destino antes iniciar o processo e ativa-las depois de terminar o processo, para evitar problemas com as FKs… se não deixar ativar denvoo então tem problemas de relacionamento entre seus dados, o relacionamento em questão vai ser o da chave que você não conseguiu ativar.
Galera, muito obrigado pela ajuda! Ainda não consegui resolver mas hoje vou tentar resolver de novo. Conseguindo eu posto o código aqui pra outros q tenham a mesma dúvida possam ver. Brigadão mesmo a todo mundo de novo! Abraços!
OBS: Deixo o tópico como resolvido?