Exportar XML para BD/Tabela ou Criar um BD/Tabela a partir de um XML

0 respostas
crpablo

Fala galerinha...

Estou com mais um probleminha aqui...

Estou pegando todas as tabelas que tenho em meu BD e exportando para XML com WebRowSet.

A idéia é criar cópias dessa base para outros tipos de BD's.

Como vocês podem ver no código, é simples essa exportação, porém para importar para o BD novamente estou encontrando problemas...

Alguém pode me ajudar com isso... Já vasculhei a API do WebHowSet e o google... mas não encontrei nada.

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", "ARCHIVE", "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/BDTEST/ciashared;user=XXXXX;password=XXXX");

		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/tmp/tabelas/"
					+ nomeTabela[i] + ".xml"));
			wrs.close();
		}

		System.out.println("Tabelas criadas com sucesso!");

	}
}

Aqui vai um arquivo XML gerado para se quiserem dar uma olhada na estrutura.

Abraços

Criado 19 de novembro de 2007
Respostas 0
Participantes 1