Fala galerinha…
Estou trabalhando em cima de algo para exportar tabelas de um BD para arquivos XML e depois criar as tabelas de outro BD apartir desses arquivos XML.
A parte de exportação em XML já fiz uns testes e está funcionando utilizando WebRowSet como vocês podem ver no código abaixo.
[code]import java.io.FileOutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.sql.rowset.WebRowSet;
import com.sun.rowset.WebRowSetImpl;
/*
- Exporta as tabelas do BD em XML
*/
public class ExportaBD {
public static String[] nomeTabela = { "ALARME", "CLIENTE", "ATRIBUTO",
"ELEMENTO", "ENDERECOIP", "EQUIPAMENTO", "EQUIPAMENTO_ALARME",
"EQUIPAMENTO_ATRIBUTO", "EQUIPAMENTO_OPCAOEQUIPAMENTO", "MAPA",
"OPCAOEQUIPAMENTO", "PERFILPADRAO", "PERFILPADRAO_ATRIBUTO",
"PROXY", "PROXY_ENDERECOIP", "REGISTRO", "SERVIDOR",
"TIPOEQUIPAMENTO", "TIPOEQUIPAMENTO_TIPOVARIAVEL", "TIPOVARIAVEL",
"USUARIO", "USUARIO_MAPA" };
private static Connection getConnection() throws ClassNotFoundException,
SQLException {
try {
Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
Connection conn = DriverManager
.getConnection("jdbc:derby:H:/Projetos/BDTESTE;user=TESTE;password=TESTE");
return conn;
}
public static void main(String[] args) throws Exception {
PreparedStatement p = null;
for (int i = 0; i < nomeTabela.length; i++) {
Connection conn = getConnection();
p = conn.prepareStatement("select * from " + nomeTabela[i]);
ResultSet rs = p.executeQuery();
WebRowSet wrs = new WebRowSetImpl();
wrs.populate(rs);
p.close();
conn.close();
wrs.writeXml(new FileOutputStream("H:/Projetos/TESTE/tabelas/"
+ nomeTabela[i] + ".xml"));
wrs.close();
}
System.out.println("Tabelas criadas com sucesso!");
}
}[/code]
Agora na hora que criar as tabelas com os dados no BD usando esses XML’s está dando um bom trabalho. Já dei uma olhada em alguns frameworks tipo: Castor, Hibernate, JDic, etc… mas não conseguí resolver.
Alguém conhece alguma forma de de fazer isso? Mesmo com Hibernate ou algum outro framework.
Abaixo um XML exemplo exportado do meu BDTESTE.
Abaços