2017-01-14 4 views
1

Ich versuche, ein XML-Dokument in Oracle-SQL mit SQL/XML zu erstellen. Ich habe mein Skript bereit, aber wenn ich es laufe, zeigt es nur einen kleinen Teil auf der Ausgabe an.SQLDeveloper zeigt keine vollständige Skriptausgabe

Wie bekomme ich die gesamte Ausgabe und wie kann ich die XML-Ausgabe in eine Datei schreiben

Antwort

0

in Ihrem Skript hinzufügen

set long 32767 

vor Ihrer Anfrage. Das steuert, wie viel von langen CLOB- und XMLType-Spalten (und einigen anderen Typen) angezeigt wird. Der Standardwert ist nur 80 Zeichen, was Sie gerade sehen.

Read more in the SQL*Plus documentation, von denen viele auch für SQL Developer gelten.

In 11g und 12c SQL * Plus können Sie bis zu 2000000000 Bytes gehen, so dass die maximale Menge, die Sie tatsächlich sehen, hängt von der Version von Oracle und SQL Developer Sie verwenden. Wenn Ihre XML-Datei mehr als 32 KB groß ist, versuchen Sie, die Nummer auf diese Nummer zu setzen und zu überprüfen, ob sie sich beschwert. Sie müssen auch set linesize auf einen Wert, der groß genug ist, um das Wrapping zu stoppen, und Sie könnten ein Limit an diesem zuerst treffen. Oder auf die Menge an verfügbarem RAM, wie die Dokumentation erwähnt. Wenn Sie die Ausgabe in eine Datei auf Ihrem Client-Computer schreiben möchten, können Sie spool the output. Sie können die Abfrage auch als Abfrage (kein Skript) ausführen und die Ergebnisse für das Abfrageergebnisraster speichern. Dies ist jedoch nicht unbedingt hilfreich, wenn Ihr Skript auch andere Aufgaben erledigt. Wenn Sie in eine Datei auf dem Server schreiben möchten, müssen Sie PL/SQL verwenden (siehe Paket utl_file).

+0

Nun, das ist immer noch zu klein. Auch das Spoolen scheint dieselbe kleine Portion auszugeben. Kann das Paket 'utl_file' das Ganze in eine lokale Datei ausgeben? – Akaitenshi

+0

'utl_file' kann nur in eine Datei auf dem Datenbankserver schreiben - in ein Verzeichnisobjekt. (Das kann theoretisch ein Remote-Dateisystem sein, das von einem anderen Ort stammt, einschließlich Ihres PCs, aber Sie werden das wahrscheinlich nicht einrichten). –

+0

Ja, ich habe gerade die Dokumentation gelesen. Die Datenbank ist 12c, also kann ich höher gehen. – Akaitenshi

Verwandte Themen