Criar tabelas no BD a partir de arquivos XML

0 respostas
crpablo

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.

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!");

	}
}

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

Criado 23 de novembro de 2007
Respostas 0
Participantes 1