elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Leer Metadatos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Leer Metadatos  (Leído 3,071 veces)
nolasco281


Desconectado Desconectado

Mensajes: 319


Ver Perfil
Leer Metadatos
« en: 2 Agosto 2014, 11:46 am »

Hola como estan

Quisiera saber si es posible crear una BD por xml es decir

tengo lo siquiente.

Escribo esto en mi aplicacion.

Código
  1. <NewDB>Crear BD</NewDB>
Código
  1. <TablaDB>Crea nueva tabla BD</TablaDB>

Por medio de lo de arriba me deberia de crear una base de datos una tabla etc.. ya sea en SQL o mySQL.

Bueno el punto es que debo de leer, investigar. se la estructura basica de xml pero debo de ver la metadata de la BD para poder crearla por xml estoy algo perdido ahi.



Espero puedan orientarme un poco.

Muchas gracias.


« Última modificación: 2 Agosto 2014, 11:48 am por nolasco281 » En línea

Lo que se puede imaginar... se puede programar.
eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: Leer Metadatos
« Respuesta #1 en: 2 Agosto 2014, 12:05 pm »

Crear una tabla es algo bastante más complejo. Hay que indicar también qué campos hay, que nombre tienen, de qué tipo es cada campo y ajustar algúnas configuraciones adicionales (longitud de los caracteres, si es clave primaria, campos que se autoincrementan ). Luego aparte también se suelen configurar reglas de acceso o disparadores ( para trabajar con tablas relacionales )....

Vamos, que por poder, sí prodrías conseguirlo, pero vas a tener que añadir más profundidad a esa etiqueta :)


En línea

nolasco281


Desconectado Desconectado

Mensajes: 319


Ver Perfil
Re: Leer Metadatos
« Respuesta #2 en: 2 Agosto 2014, 12:30 pm »

No claro la etiqueta que esta ahi es solo un ejemplo.

si no ando mal debo de crear una clase que me maneje el codigo de creacion de la BD tablas entre otros y que al momento de crear el xml me tome el formato de la BD es decir.



por medio del xml se creara la BD o Tables etc..

esa es la parte que no entiendo, alguna idea.

« Última modificación: 2 Agosto 2014, 12:38 pm por nolasco281 » En línea

Lo que se puede imaginar... se puede programar.
eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: Leer Metadatos
« Respuesta #3 en: 3 Agosto 2014, 11:57 am »

Suponiendo que tuvieses algo del tipo

Código
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <NewTable name="nueva_tabla">
  3.  <cols>
  4.    <col>
  5.      <name>columna1</name>
  6.      <dataType>int</dataType>
  7.     </col>
  8.  </cols>
  9. </NewTable>

Tendrías que leer el XML y, simplificando, seguir el siguiente esquema. Nota que el código es una especie de pseudocódigo... el código final dependerá de la clase que uses para leer el XML.

Código
  1. XmlReader reader( fichero );
  2.  
  3. while ( reader.NextNode( ) )
  4. {
  5.  if ( reader.CurrentNode( ).Name( ) == "NewTable" )
  6.    NewTable( reader );
  7. }
  8.  
  9. void NewTable( XmlReader& reader )
  10. {
  11.  std::string tableName = reader.CurrentNode( ).Attribute( "name" ); // Recuperamos 'nueva_tabla'
  12.  std::vector< DBCol > columns;
  13.  
  14.  while ( reader.NextNode( ) )
  15.  {
  16.    if ( reader.CurrentNode( ).Name( ) == "cols" )
  17.      columns = ReadColumns( reader );
  18.  }
  19.  
  20.  std::string sql = "CREATE TABLE " + tableName + " (";
  21.  
  22.  for ( const auto& col : columns )
  23.  {
  24.    sql += col.Name( ) + ...
  25.  }
  26.  sql += ")";
  27.  
  28.  // Solo falta ejecutar la sentencia SQL
  29. }
  30.  
  31. void ReadColumns( XmlReader& reader )
  32. {
  33.  std::vector< DBCol > columns;
  34.  
  35.  while ( reader.NextNode( ) )
  36.  {
  37.    if ( reader.CurrentNode( ).Name( ) == "col" )
  38.      columns.push_back( ReadColumn( reader );
  39.  }
  40.  
  41.  return columns;
  42. }
  43.  
  44. void ReadColumn( XmlReader& reader )
  45. {
  46.  DBCol column;
  47.  
  48.  while ( reader.NextNode( ) )
  49.  {
  50.    if ( reader.CurrentNode( ).Name( ) == "name" )
  51.      column.SetName( reader.CurrentNode( ).ReadText( ) ); // Nombre de la columna
  52.    else if ( reader.CurrentNode( ).Name( ) == "dataType" )
  53.      column.SetType( reader.CurrentNode( ).ReadText( ) );
  54.  }
  55.  
  56.  return column;
  57. }
En línea

nolasco281


Desconectado Desconectado

Mensajes: 319


Ver Perfil
Re: Leer Metadatos
« Respuesta #4 en: 3 Agosto 2014, 21:39 pm »

Hola primeramente

Mil gracias me acabas de aclarar muchas de las dudas que tenia.

estare molestando en el transcurso de estos dias. y en el desarrollo de mi codigo.

Saludos y muchas gracias de nuevo se te agradece mucho el tiempo que se tomo.  ;-)
En línea

Lo que se puede imaginar... se puede programar.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[?] Metadatos en C
Programación C/C++
Extermineitorhack 2 3,066 Último mensaje 3 Octubre 2011, 23:47 pm
por Extermineitorhack
Problemas con metadatos y FOCA.
Software
beholdthe 2 2,300 Último mensaje 25 Junio 2012, 23:54 pm
por beholdthe
METADATOS con foca
Hacking
Pirat3net 0 2,653 Último mensaje 21 Octubre 2012, 23:23 pm
por Pirat3net
Imagen con metadatos
Dudas Generales
magnum_44 0 3,262 Último mensaje 6 Enero 2014, 02:56 am
por magnum_44
Metadatos
Multimedia
nikita 3 3,296 Último mensaje 10 Julio 2015, 13:29 pm
por Gambinoh
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines