Generar XML utilizando el esquema XML de Oracle

8

Tengo algunas definiciones de esquema XML que se han registrado utilizando DBMS_XMLSCHEMA. He creado tablas usando los XMLTypes generados. Puedo crear XML usando XMLQuery y si entiendo correctamente, los resultados de la consulta se pueden insertar en la tabla si la definición es correcta.

En última instancia, el XML debe escribirse en un archivo, pero la parte de la que no estoy seguro es si escribir XMLQueries desde cero es la mejor manera de generar el XML. ¿Hay alguna manera de que el esquema XML genere un código auxiliar XML para una guía o genere una plantilla XMLQuery? Los datos se encuentran actualmente en tablas regulares de Oracle, pero están organizados de manera bastante diferente, por lo que cualquier información sobre cómo facilitar la exportación a XML basada en un conjunto específico de esquema registrado sería útil.

Leigh Riffel
fuente
Creo que hay una manera de hacerlo si sus tablas coinciden con su esquema (creo que incluso hay una manera de generar tablas basadas en un esquema). Si sus tablas tienen una estructura diferente, probablemente tendrá que escribir consultas para transformar los datos en XML.
FrustratedWithFormsDesigner
Puedo generar una tabla basada en el esquema, pero es solo una tabla de una columna XMLType. ¿Es eso lo que querías decir?
Leigh Riffel
@LeightRiffel: No, estoy bastante seguro de que hubo un proyecto aquí hace un par de años, donde el DBA usó algún tipo de herramienta Oracle para generar tablas cuyas estructuras y relaciones coincidían con el esquema. No recuerdo el nombre de la herramienta y es posible que no funcione con todos los esquemas, pero está disponible en alguna parte. De lo contrario, es un trabajo manual de escribir consultas para masajear los datos de la base de datos "normal" en estructuras XML. Aún necesitabas consultas cuando las tablas coincidían con el esquema, pero eran mucho más simples. ¿Has intentado buscar / preguntar en StackOverflow?
FrustratedWithFormsDesigner
Buscando sí, preguntando, no. Parece que hay herramientas que realizan la conversión, pero no he encontrado nada integrado en Oracle.
Leigh Riffel
De Verdad? Hm. Yo pensaba que el DBA dijo que era algo en Oracle. Es posible que tuviera un script personalizado que creara tablas a partir de esquemas utilizando otras funciones de Oracle. No está cerca por el momento para preguntar, lo siento.
FrustratedWithFormsDesigner

Respuestas:

1

Es bastante directo enviar una selección ya existente a XML: http://docs.oracle.com/cd/B19306_01/appdev.102/b14259/xdb13gen.htm#i1028612

Crear XML es parte de las especificaciones básicas de SQL y está disponible en la mayoría de los servidores. Puede consultar la versión del servidor SQL aquí: http://blog.sqlauthority.com/2009/02/12/sql-server-simple-example-of-creating-xml-file-using-t-sql/

MarkWalls
fuente
Ahí es donde terminamos; simplemente cree el código XMLQuery desde cero.
Leigh Riffel