4D v16.3

SQL EXPORT DATABASE

Home

 
4D v16.3
SQL
SQL EXPORT DATABASE

SQL EXPORT DATABASE 


 

SQL EXPORT DATABASE ( OrdnerPfad {; AnzDateien {; maxDateigröße {; maxFeldgröße}}} )  
Parameter Typ   Beschreibung
OrdnerPfad  Text in Pfadname des Exportordners oder "" um Auswahldialog für Ordner anzuzeigen
AnzDateien  Lange Ganzzahl in Maximale Anzahl der Dateien pro Ordner
maxDateigröße  Lange Ganzzahl in Maximale Größe der Datei Export.sql (in KB)
maxFeldgröße  Lange Ganzzahl in max. Größe, bis zu der Inhalt eines Feldes vom Typ Text, BLOB oder Bild in die Hauptdatei integriert wird (in Bytes)

Der Befehl SQL EXPORT DATABASE exportiert alle Datensätze von allen Tabellen der Datenbank in SQL Format. Diese globale Exportoperation wird in SQL "Dump" genannt.

Hinweis: Dieser Befehl lässt sich nicht mit einer externen Verbindung einsetzen, die direkt oder über ODBC geöffnet wurde.

Der Befehl erstellt für jede Tabelle eine Textdatei mit den SQL Anweisungen, die für den Import in eine andere Datenbank notwendig sind. Diese Datei lässt sich direkt vom Befehl SQL EXECUTE SCRIPT verwenden, um Daten in eine andere 4D Datenbank zu importieren.

Die Exportdateien werden in einem Ordner mit Namen "SQL Export" im Zielordner, definiert im Parameter OrdnerPfad abgelegt. Gibt es bereits einen Ordner mit Namen "SQL Export" an der angegebenen Stelle, ersetzt der Befehl diesen, ohne eine Meldung anzuzeigen.
Übergeben Sie in diesem Parameter einen leeren String, zeigt 4D ein Standard Dialogfenster, in welchem der Benutzer den Zielordner angeben kann. Das Dialogfenster zeigt standardmäßig den aktuellen Ordner des Benutzers, der die Sitzung geöffnet hat: "My Documents" unter Windows bzw. "Documents" auf Mac OS.

Der Befehl führt für jede exportierte Tabelle folgende Aktionen aus:

  • im Zielordner wird ein Unterordner mit dem Tabellennamen erstellt.
  • im Unterordner wird eine Textdatei mit Namen "Export.sql" erstellt. Diese Datei wird in UTF8 mit einer BOM (byte-order Marke) codiert. Sie enthält die SQL INSERT Aufrufe gemäß den exportierten Daten. Feldwerte werden durch Strichpunkte voneinander getrennt. Gibt es weniger Werte als Felder in der Tabelle vorhanden sind, werden die verbleibenden Felder als NULL gewertet. 
  • Enthält die Tabelle BLOB, Bild- oder Textfelder (extern gespeicherte Texte, d.h. außerhalb von Datensätzen), erstellt der Befehl standardmäßig neben der Datei "Export.sql" einen zusätzlichen Unterordner mit Namen "BLOBS". Innerhalb dieses Unterordners werden soviel Unterordner mit Namen "BlobsX” wie benötigt, erstellt. Diese Unterordner speichern den Inhalt aller Felder vom Typ BLOB, Bild oder externe Texte als separate Dateien. BLOB Dateien heißen "BlobXXXXX.BLOB" (wobei XXXXX eine von der Anwendung erzeugte einmalige Nummer ist.), Textdateien heißen "TEXTXXXXX.TXT"(wobei XXXXX eine von der Anwendung erzeugte einmalige Nummer ist.), Bilddateien heißen PICTXXXXX.ZZZZ (wobei XXXXX eine von der Anwendung erzeugte einmalige Nummer ist und ZZZZ die Endung). Bilder werden, soweit möglich, im Originalformat mit entsprechender Endung exportiert, z.B. .jpg, .png, etc.. Ist ein Export im native Format nicht möglich, werden die Bilder im internen 4D Format mit der Endung .4PCT exportiert.
    Dieses Standardverhalten lässt sich über den optionalen Parameter maxFeldgröße anpassen, der eine max. Größe für die im Feld enthaltenen Daten definiert.
    Hinweis: Dieses Verhalten ist anders, wenn Sie SQL EXPORT DATABASE mit 4D im remote Modus ausführen. In diesem Kontext werden die Daten, die extern gespeichert werden sollen automatisch in die Datei "Export.sql"eingebunden.
Übergeben Sie den Parameter AnzDateien, erstellt der Befehl soviele Unterordner "BlobsX" wie erforderlich, damit jeder nicht mehr als die in AnzDateien angebenen BLOB oder Bilddateien enthält. Wird dieser Parameter weggelassen, begrenzt der Befehl die Anzahl der Dateien standardmäßig auf 200. Übergeben Sie 0, enthält jeder Unterordner mindestens eine Datei.
Mit dem Parameter maxDateigröße definieren Sie die maximale Größe jeder auf der Festplatte angelegten Datei "Export.sql" (Größe in KB). Ist die in maxDateigröße definierte Größe erreicht, stoppt 4D das Schreiben von Datensätzen, schließt die Exportdatei und erstellt neben der ersten Datei eine weitere mit Namen "ExportX.sql" (wobei X die Sequenznummer ist). Beachten Sie, dass dies eine theoretische Begrenzung ist: Die aktuelle Größe der Dateien "ExportX.sql" ist größer als der im Parameter maxDateigröße gesetzte Wert, da die Datei erst geschlossen wird, wenn der beim Erreichen des Limits gerade exportierte Datensatz komplett geschrieben ist (der Inhalt der Datensätze wird nicht geteilt). Als Mindestwert ist 100, als Maximumwert (Standardwert) 100.000 (100 MB) zugelassen.

Der optionale Parameter maxFeldgröße setzt eine maximale Größe fest, bis zu der der Inhalt eines externen Feldes vom Typ BLOB, Bild oder Text in die Hauptdatei "Export.sql" eingebunden und nicht als separate Datei gesichert wird. Dieser Parameter dient zur Optimierung von Exportoperationen, denn er verringert die Anzahl an Unterordnern oder Dateien, die auf der Festplatte erstellt werden.
Der Wert dieses Parameters wird in Bytes ausgedrückt. Übergeben Sie z.B. 1000, werden alle externen Felder vom Typ BLOB, Bild oder Text mit einer Größe unter oder gleich 1000 Bytes in die Hauptdatei des Exports eingebunden.
Beachten Sie, dass binäre Daten (Felder vom Typ BLOB und Bild), die in die Exportdatei integriert werden, im hexadezimalen Format gespeichert werden, in Form von X'0f20' (standardmäßige hexadezimale Notation für SQL, siehe literal). Dieses Format wird automatisch von der 4D SQL Engine unterstützt.
Standardmäßig, d.h. ohne den Parameter maxFeldgröße werden externe Felder vom Typ BLOB, Bild und Text immer als externe Dateien exportiert, unabhängig von Ihrer Größe.

Die Exportdatei kann weniger Werte enthalten als Felder in der Tabelle vorhanden sind. In diesem Fall gelten die leeren Felder als NULL. Sie können in einem Feld auch den Wert NULL übergeben.

Wurde der Export korrekt ausgeführt, wird die Variable OK auf 1 gesetzt. Andernfalls hat sie den Wert 0.
 

Hinweis: Dieser Befehl unterstützt keine Felder vom Typ Objekt.



Siehe auch 

SQL EXPORT SELECTION

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: SQL
Nummer: 1065

Dieser Befehl ändert die Systemvariable OK

 
GESCHICHTE 

Erstellt: 4D v12
Geändert: 4D v12.1

 
SCHLÜSSELWÖRTER 

Dump

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v16)
4D Programmiersprache ( 4D v16.1)
4D Programmiersprache ( 4D v16.2)
4D Programmiersprache ( 4D v16.3)