Generieren Sie XML mithilfe des Oracle XML-Schemas

8

Ich habe einige XML-Schemadefinitionen, die mit DBMS_XMLSCHEMA registriert wurden. Ich habe Tabellen mit den generierten XMLTypes erstellt. Ich kann XML mit XMLQuery erstellen. Wenn ich das richtig verstehe, können die Abfrageergebnisse in die Tabelle eingefügt werden, wenn die Definition korrekt ist.

Letztendlich muss das XML in eine Datei geschrieben werden, aber ich bin mir nicht sicher, ob das Schreiben von XMLQueries von Grund auf der beste Weg ist, um das XML zu generieren. Gibt es eine Möglichkeit, das XML-Schema einen XML-Stub für eine Anleitung oder eine XMLQuery-Vorlage generieren zu lassen? Die Daten befinden sich derzeit alle in regulären Oracle-Tabellen, sind jedoch sehr unterschiedlich angeordnet. Daher sind alle Informationen zur Erleichterung des Exports nach XML basierend auf einem bestimmten Satz registrierter Schemata hilfreich.

Leigh Riffel
quelle
Ich denke, es gibt eine Möglichkeit, dies zu tun, wenn Ihre Tabellen mit Ihrem Schema übereinstimmen (ich denke, es gibt sogar eine Möglichkeit, Tabellen basierend auf einem Schema zu generieren). Wenn Ihre Tabellen unterschiedlich strukturiert sind, müssen Sie wahrscheinlich Abfragen schreiben, um die Daten in XML umzuwandeln.
FrustratedWithFormsDesigner
Ich kann eine Tabelle basierend auf dem Schema generieren, aber es ist nur eine Tabelle einer XMLType-Spalte. Ist es das, was du meintest?
Leigh Riffel
@LeightRiffel: Nein, ich bin mir ziemlich sicher, dass es vor ein paar Jahren hier ein Projekt gab, bei dem der DBA eine Art Oracle-Tool verwendete, um Tabellen zu generieren, deren Strukturen und Beziehungen mit dem Schema übereinstimmten. Ich erinnere mich nicht an den Namen des Tools und es ist möglich, dass es nicht mit allen Schemas funktioniert, aber es ist irgendwo da draußen. Andernfalls ist es eine manuelle Aufgabe, Abfragen zu schreiben, um die "normalen" Datenbankdaten in XML-Strukturen zu massieren. Sie brauchten noch Abfragen, wenn Tabellen mit dem Schema übereinstimmten, aber sie waren viel einfacher. Haben Sie versucht, auf StackOverflow zu suchen / zu fragen?
FrustratedWithFormsDesigner
Ja suchen, fragen, nein. Es sieht so aus, als ob es Tools gibt, die die Konvertierung durchführen, aber ich habe nichts in Oracle eingebaut gefunden.
Leigh Riffel
"Ja wirklich?" Hm. Ich dachte, der DBA sagte, es sei etwas in Oracle. Möglicherweise hatte er ein benutzerdefiniertes Skript, das Tabellen aus Schemas mit anderen Oracle-Funktionen erstellte. Er ist im Moment nicht da, um zu fragen, sorry.
FrustratedWithFormsDesigner

Antworten:

1

Es ist ziemlich direkt, eine bereits vorhandene Auswahl an XML zu senden: http://docs.oracle.com/cd/B19306_01/appdev.102/b14259/xdb13gen.htm#i1028612

Das Erstellen von XML ist Teil der grundlegenden SQL-Spezifikationen und auf den meisten Servern verfügbar. Sie können die SQL Server-Version hier überprüfen: http://blog.sqlauthority.com/2009/02/12/sql-server-simple-example-of-creating-xml-file-using-t-sql/

MarkWalls
quelle
Dort sind wir gelandet. Erstellen Sie einfach den XMLQuery-Code von Grund auf neu.
Leigh Riffel