Schreibt Daten aus einer SQL-Anweisung in eine Datei
xp_write_file( Dateiname, Datei-Inhalt )
Dateiname Verwenden Sie diesen LONG VARCHAR-Parameter, um den Dateinamen anzugeben.
Datei-Inhalt Verwenden Sie diesen LONG BINARY-Parameter, um den Inhalt anzugeben, der in die Datei geschrieben werden soll.
Diese Funktion schreibt den Datei-Inhalt in die Datei Dateiname. Sie gibt "0" zurück, falls erfolgreich, und nicht Null bei Fehlschlag.
Dem Dateiname-Wert kann ein absoluter oder ein relativer Pfad vorangestellt werden. Wenn Dateiname ein relativer Pfad vorangestellt wird, ist der Dateiname relativ zum aktuellen Arbeitsverzeichnis des Datenbankservers. Falls die Datei bereits besteht, wird ihr Inhalt überschrieben.
Diese Funktion kann zum Entladen umfangreicher Binärdaten in Dateien hilfreich sein.
Sie können die Funktion CSCONVERT auch verwenden, um die für die Systemprozedur xp_write_file erforderliche Zeichensatzkonvertierung durchzuführen. Weitere Hinweise finden Sie unter CSCONVERT-Funktion [Zeichenfolge].
DBA-Berechtigung erforderlich
Dieses Beispiel verwendet xp_write_file, um eine Datei accountnum.txt zu erstellen, die die Daten 123456 enthält:
CALL xp_write_file( 'accountnum.txt', '123456' ); |
Dieses Beispiel fragt die Contacts-Tabelle der Beispieldatenbank ab und erstellt dann eine Textdatei für jeden Kontakt, der in New Jersey wohnt. Die Textdateien werden benannt, wobei eine Verkettung des Vornamens (GivenName), des Nachnamens (Surname) und der Zeichenfolge .txt verwendet wird (z.B. Reeves_Scott.txt), und enthalten auf separaten Zeilen die Straßenadresse (Street), Stadt (City) und den Bundesstaat (State).
SELECT xp_write_file( Surname || '_' || GivenName || '.txt', Street || '\n' || City || '\n' || State ) FROM Contacts WHERE State = 'NJ'; |
Dieses Beispiel verwendet xp_write_file, um eine Bilddatei (JPG) für jedes Produkt in der Products-Tabelle zu erstellen. Jeder Wert in der ID-Spalte wird zu einem Dateinamen für eine Datei, die den entsprechenden Wert der Photo-Spalte enthält:
SELECT xp_write_file( ID || '.jpg' , Photo ) FROM Products; |
Im obenstehenden Beispiel ist ID eine Zeile mit einer UNIQUE-Integritätsregel. Das ist wichtig, damit eine Datei nicht mit dem Inhalt von nachfolgenden Zeilen überschrieben wird. Auch müssen Sie die Dateierweiterung angeben, die den in der Spalte gespeicherten Daten entspricht. In diesem Fall speichert Products.Photo Bilddaten (JPG).
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |