SOG-Helpcenter Logo SOG Business - Software

sogdbunload - Programm zum Laden und Entladen von Datenbanktabellen


 

Beschreibung


Das Programm sogdbunload entlädt Datenbanktabellen im SQL-, XML- oder CSV-Format in sequentielle Dateien. SQL- und CSV-Dateien können mit sogdbunload auch wieder eingelesen werden. Bei Dateien im CSV-Format ist es außerdem möglich, die Spaltennamen umzubenennen oder einzelne Spalten beim Laden in eine Datenbanktabelle durch umbenennen der Spalte in "-" auszuschließen.

Aufruf



    sogdbunload -u
                [-sql]
                [-xml]
                [-where Where-Bedingung]
                [-order Order-By-Bedingung]
                [-code Codierung]
                [-log Protokolldatei]
                [-con DbCon]
                Tabelle Verzeichnis
    sogdbunload -l
                [-nobulk]
                [-sql]
                [-opt]
                [-translen Transaktionslänge]
                [-code Codierung]
                [-delall]
                [-del Where-Bedingung]
                [-r]
                [-hhupd]
                [-log Protokolldatei]
                [-tbrfrom Quellfirma -tbrto ZielFirma [-tbrcheck]]
                [-con DbCon]
                [-ignoredup]
                [-threads n]

                [-merge MergeSqlScript]
                Tabelle Verzeichnis
    sogdbunload -unloadall
                [-sql]
                [-xml]
                [-Y]
                [-prefix Prefix]
                [-code Codierung]
                [-log Protokolldatei]
                [-list Tabellendatei]
                [-con DbCon]
                [-continue]
                Verzeichnis
    sogdbunload -loadall
                [-nobulk]
                [-sql]
                [-Y]
                [-opt]
                [-translen Transaktionslänge]
                [-code Codierung]
                [-delall]
                [-move]
                [-r]
                [-hhupd]
                [-log Protokolldatei]
                [-tbrfrom Quellfirma -tbrto ZielFirma [-tbrcheck]]
                [-con DbCon]
                [-threads n]
                Verzeichnis
    sogdbunload -tabstoupd Tabelle[,Tabelle]...
                [-askuser]
                [-delcon "SQL-Bedingung"]
                [-con DbCon]
                hhupd

Parameter

 

 

-u

Schlüsselwort zum Entladen einer Datenbanktabelle.

-l

Schlüsselwort zum Laden einer Datenbanktabelle.

-unloadall

Schlüsselwort zum Entladen aller Datenbanktabellen. Dateien werden im angegebenen Zielverzeichnis gespeichert.

-loadall

Schlüsselwort zum Laden aller Unload-Dateien aus einem Verzeichnis. Über die Konifguration "SOGDbUnload_cfg.xml" können Tabellen konfiguriert werden, die nicht automatisch geladen werden. (nur wenn die Dateinamen der Unload-Dateien dem Format "unload_tabelle" entsprechen.)

-nobulk

Durch Einsatz der BulkCopy Methode des SQL Servers kann das Laden von Tabellen massiv berschleunigt werden. Mit der Option "-nobulk" kann diese Methode abgeschaltet werden. Die Firmenmodifikation ist mit der BulkCopy Methode nicht kompatibel.

-sql

Schlüsselwort zum Laden oder Entladen einer Datenbanktabelle im SQL-Format.

-xml

Schlüsselwort zum Entladen einer Datenbanktabelle im XML-Format.
Achtung: XML-Format dient nur der Übergabe an Fremdsysteme, und kann zur Zeit nicht wieder geladen werden.

-Y

Auftretende Meldungen zur Bestätigung durch den Benutzer werden nicht ausgegeben.

-opt

Zur Optimierung der Geschwindigkeit erfolgt keine Ermittlung der Datensatzanzahl und es wird nur eine eingeschränkte Fortschrittsanzeige verwendet. Ist nur in Verbindung mit "CSV" möglich.

-ci Kultur

CultureInfo, die zum laden oder entladen benutzt werden soll (z.B. "de-DE" oder "en-US") . An Stelle der Kultur kann auch der Parameter "-lang" verwendet werden

-lang Sprache

Angabe eine SOG Entladesprache. Aus der Sprachangabe wird eine Kultur ermittelt, und diese verwendet. (z.B. "ger" oder "eng"). Initialwert="eng"

-prefix Prefix

Setzt den angegeben Prefix vor jede entladene Datei (Nur bei Parameter "-unloadall" wirksam). Initialwert="unload"

-translen Transaktionslänge (Optional)

Bestimmt die Anzahl der Datensätze, die pro Transaktion in die Datenbank geladen werden. Standardwert: 100

-where Where-Bedingung

Optionale Where-Bedingung (ohne "where" am Beginn der Bedingung angeben).

-order Order-By-Bedingung

Optionale Order-By-Bedingung (ohne "order by" am Beginn der Bedingung angeben).

-delall

Vor Start des Ladevorgangs werden alle vorhandenen Datensätze in der Tabelle gelöscht. Ist nur in Verbindung mit "CSV" möglich.

-del Where-Bedingung

Vor Start des Ladevorgangs werden alle vorhandenen Datensätze in der Tabelle gelöscht die der Where Klausel entsprechen (ohne "where" am Beginn der Bedingung angeben). Ist nur in Verbindung mit "CSV" möglich.

-r

Ein bereits vorhandener Satz wird auf Basis des Key-1 vorher gelöscht. Ist nur in Verbindung mit "CSV" möglich.

-hhupd

Beim Laden der Tabelle wird als Wert des Feldes "hhupd" der aktuelle Zeitstempel verwendet. Ist nur in Verbindung mit "CSV" möglich.

-move

Bei Angabe dieser Option werden alle verarbeiteten Quelldateien in das Verzeichnis "Quellverzeichnis_done" verschoben.

-log

Protokolldatei, in der zusätzlich alle Konsolenausgaben protokolliert werden.

-list

Datei mit Namen der Tabellen, die entladen werden sollen. Die einzelnen zu entladenden Tabellen müssen hier zeilenweise angegeben werden.

-tabstoupd

Ermittelt veränderte Datensätze in einer Liste von Tabellen, auf Basis eines hhupd-Datums, und erzeugt ein neues DBUpdate-Script im DBUpdate-Verzeichnis mit insert-Anweisungen für diese Datensätze.
Mit "-delcon" kann eine SQL-Bedingung vereinbart werden, die zu löschende Datensätze zusätzlich erfüllen müssen, damit sie tatsächlich gelöscht werden!

-tbrfrom VonFirma

Soll während des Datenladens eine Firmenmodifikation durchgeführt werden, so kann hier die Quellfirma angegeben werden. Wird zusätzlich die Option "-tbrcheck" angegeben, werden nur Datensätze geladen, die der Quellfirma entsprechen.

-tbrto NachFirma

Soll während des Datenladens eine Firmenmodifikation durchgeführt werden, so kann hier die Zielfirma angegeben werden.

-tbrcheck

Soll während des Datenladens eine Firmenmodifikation durchgeführt werden, so bewirkt diese Option, dass nur Daten geladen werden, die der Quellfirma entsprechen.

-con DbCon

Datenbankverbindung. Geben Sie hier das Kürzel für die zu verwendende Datenbankverbindung an.
Wird z.B. "help" angegeben, muss die Datenbankverbindung über die Variable "OleDbHelp" konfiguriert worden sein.

-threads n

Angabe einer gewünschten Anzahl von gleichzeitigen, parallelen Einfügeoperationen. Durch Angabe dieser Option kann ein Ladevorgang erheblich beschleunigt werden. 99: Anzahl Prozessoren * 4

-continue

Beim Entladen einer ganzen Datenbank werden nur die Tabellen berücksichtigt, die nicht bereits zuvor in das Zielverzeichnis entladen wurden.

-ignoredup

Beim Laden einer CSV-Datei werden Duplikatsfehler ignoriert und nicht protokolliert. Nur die zusätzlich in der CSV Datei enthaltenen Datensätze werden geladen.

 

-merge MergSqlScript

Beim Laden einer CSV-Datei wird der Inhalt der CSV in eine Temp-Table Namens #unloadtemp geladen, und anschließend über das hier angegebene Script in die Zieltabelle überführt. Das Script sollte eine Merge-Anweisung enthalten, die die Temptable als Quelle und die Zieltabelle als Ziel verwendet. Ein Beispiel für ein solches Script finden Sie unter sql\sog\MergeOptionen.sql.

 

Tabelle

Name der zu ladenden oder zu entladenden Tabelle. Beim Laden im SQL Format wird der angegebenen Tabellenname ignoriert!

Verzeichnis

Ziel-/Quellverzeichnis.

Firmenmodifikation


Mit Hilfe der Optionen "-tbrfrom", "-tbrto" und "-tbrcheck" kann während des Ladens die interne Firmennummer der Datensätze modifiziert werden.
Um zu erkennen, welche Daten verändert werden müssen, werden die XML-Datenbeschreibungen der Tabellen geladen.
Es können also nur Tabellen modifiziert werden, zu denen eine solchen Datenbeschreibung existiert.
Wird die Option "-tbrcheck" verwendet, werden nur Datensätze geladen, die der Quellfirma entsprechen. Daten anderer Firmen, oder firmenübergreifende Daten werden nicht geladen.

Entladen einer Datenbanktabelle im XML-Format


Beim Entladen einer Datenbanktabelle als XML-Datei liegt diese nach dem Entladen in folgender Form vor:


<Table Name="#Tabellenname#">
    <Schema>
        <Field Name="#Feldname#">#Datentyp#</Field>
        ...
    </Schema>
    <Dataset>
        <Field Name="#Feldname#">#Wert des Datenfeldes#</Field>
        ...
    </Dataset>
    ...
</Table>

XML-Format kann nicht wieder in die Datenbank geladen werden. Es dient nur der Übergabe an Fremdsysteme

BLOBs - Große Datenbankobjekte


Große Datenbankobjekte, sogenannte BLOBs können von SOG ERP (VACOS) zur Speicherung von Dateien in der Datenbank verwendet werden.
Ein BLOB kann dabei theoretisch bis zu 2 GB groß werden.
SOGDbUnload unterstützt BLOBs im CSV Format. Dazu wird die geschriebene CSV-Datei um eine spezielle SOG-Spezifische Syntax erweitert, in der die im Datensatz enthaltenen BLOBs in binärem Base64-Format in die Ausgabe geschrieben werden.
Auch das Laden einer solchen CSV-Datei ist möglich. Dabei werden die BLOBs wieder rekonstruiert, geprüft, und mit in die Datenbank eingefügt.

Beispiel für einen solchen Datensatz mit einem enthaltenen BLOB, hier am Beispiel der SOG ERP (VACOS) Tabelle "dbfiles":

key_1,folder,filename,extension,data,file_owner,read_right,write_right,child_read_right,child_write_right,len,version,vuuid,isdir,cmpr,last_write_utc,hhupd,blob_id,co_stat,co_user
string,string,string,string,blob,string,string,string,string,string,decimal,int16,string,int16,int16,string,string,string,int16,string
$BLOBSTART data 4 9 8AA99B1F439FF71293E95357BAC6FD94
$BLOBDATA YWJjZGVmZ2hp
$BLOBEND
/temp/x.txt,/temp,x,txt,BLOB,stolle,,,,,9,0,e5391318-6aae-4e57-a470-7eb4624b6c98,0,0,20090918123808,20090918123816,,1,soghh/stolle

Die Felder im Datensatz "$BLOBSTART" haben folgende Bedeutung:

  1. Name des Datenfeldes (Hier: data)

  2. Spaltennummer (0=1.Spalte) (Hier: 4)

  3. Länge des Blob in Byte (Hier: 9)

  4. MD5-Prüfsumme über die Daten des Blob (Hier: 8AA99B1F439FF71293E95357BAC6FD94)