DataBase (DDL) to XML and back again

0 respostas
giustin

Opa!

Bom, pessoal! Meu professor de BDII da universidade solicitou, mesmo sem a gente ter estudado algo sobre isto ainda, um trabalho que consiste, resumidamente, no seguinte:

  • Conectar a um BD (firebird, mysql, etc) e extrair a estrutura e alguns registros deste banco para XML;
  • Agora, a partir deste mesmo XML, criar de volta o BD com a estrutura e registros que constam no XML;

Eu sei, Google it. Então, tive lendo alguma coisa sobre o que o pessoal considerou mais simples de se trabalhar, Xstream.

http://xstream.codehaus.org/tutorial.html
http://www.guj.com.br/java.tutorial.artigo.144.1.guj

Só para frizar, sou iniciante e não trabalho com Java mas tenho desenvolvido os trabalhos solicitados neste, por acreditar que se é pra dedicar algum tempo estudando alguma tecnologia de desenvolvimento que seja esta. Voltando, eu até consigo pegar um objeto e gerar o XML, exemplo:

String burro = Eu sou burro;

XStream xstream = new XStream();

String xml = xstream.toXML(valor);

Resultado: <string>Eu sou burro<string>

Mas, pelo resultado que ele pede em XML, ficaria assim (exemplo):

&lt;?xml version="1.0" standalone="yes"&gt;
&lt;DATAPACKET Version="2.0"&gt;
   &lt;METADATA&gt;
       &lt;FIELDS&gt;
            &lt;FIELD attrname="tableProdutos" fieldtype="i4" required="true"/&gt;
             &lt;FIELD attname="nome" fieldtype="string" required="true" WIDTH="40"/&gt;
             &lt;FIELD attname="valor" fieldtype="fixed" DECIMALS="2" WIDTH="9"/&gt;
        &lt;/FIELDS&gt;
         &lt;PARAMS LCID="0"/&gt;
        &lt;/METADATA&gt;
       &lt;ROWDATA&gt;
        &lt;ROW CODCLI="1" NOME="Tiago"
                   VALOR="10" /&gt;              
        &lt;ROW CODCLI="2" NOME="Joao"
                   VALOR="20" /&gt;
        &lt;/ROWDATA&gt;
&lt;/DATAPACKET&gt;

Bom, considerando a minha saida: <string>Eu sou burro<string>… Eu teria que personalizar TODAS as tags manualmente para gerar como o dele, aqueles cabeçalhos ali tudo?

Sei que se eu conseguir exportar os dados DDL do BD e alguns registros para XML e depois conseguir importar isso tudo para BD, ele também vai considerar… Mas não tem alguma classe pronta ou procedimento, que conecte ao meu BD e já dê uma saída com tudo isso, sem muito trabalho?

Manualmente, isto seria conectar ao BD, obter nome de colunas, tipos de dados, etc… depois pegar as tuplas de registros, e então montar uma string e jogar pra XML… Para o inverso, teria que LER o arquivo XML token por token encontrando as coisas e fazendo o que é preciso. Trabalhoso demais para o momento da faculdade e o que estou estudando!

Se por acaso alguém puder ajudar, eu agradeço. Abração!

Criado 8 de junho de 2008
Respostas 0
Participantes 1