The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

dsql_export - Kommandozeilen-Tool für datenbankunabhängige DB-Exports

SYNOPSIS

  dsql_export [-V] Konfigurationsdatei-Name
  dsql_export -c
                
  -V    keine Statusmeldungen auf STDOUT ausgeben
  -c    Muster-Konfigurationsdatei auf STDOUT ausgeben

DESCRIPTION

Dieses Tool ermöglicht einen Export von Daten aus einer bestimmten Datenbank (Oracle, MySQL oder mSQL) in ein angegebenes Export-Verzeichnis im Filesystem.

Es werden alle bestehenden Tabellen der Quelldatenbank exportiert, die nicht explizit über den Parameter exclude_tables vom Export ausgeschlossen werden, und für die es einen Eintrag in der angegebenen Type-Hash-Datei gibt (siehe Abschnitt 'KONFIGURATIONSDATEI').

Tabellen ohne Type-Hash-Eintrag werden grundsätzlich vom Export ausgeschlossen!

Im angegebenen Export-Verzeichnis wird für jede exportierte Tabelle ein Unterverzeichnis mit dem Namen der entsprechenden Tabelle angelegt. Dort werden dann die zugehörigen Dateien abgelegt:

format.conf

Enthält Informationen (Spaltenname, Typ und maximale Länge) zu den zugehörigen Tabellen-Spalten.

data.dump

Enthält die eigentlichen Daten, wobei die einzelnen Spalten durch Tabulatoren voneinander getrennt sind.

blob_1.bin - blob_n.bin

Enthält eine Tabelle BLOB- oder CLOB-Spalten, werden die Inhalte dieser Spalten in separaten Dateien gespeichert. In der CSV-Datei wird dann für diese Spalten nur der Name der zugehörigen Datei abgelegt.

Die Start- und Endzeit des Exports, sowie die übergebenen Parameter und die Statusmeldungen, die während des Exports ausgegeben werden, werden in die Datei export.meta im Export-Verzeichnis geschrieben.

Wenn ein DB-Export in ein bereits vorhandenes Export-Verzeichnis gemacht wird, dann wird die bestehende export.meta-Datei überschrieben. Die Unterverzeichnisse der Tabellen, die neu exportiert werden, werden vorher komplett gelöscht. Bereits existierende Unterverzeichnisse von Tabellen, die beim neuen Export nicht berücksichtigt werden, bleiben bestehen.

KONFIGURATIONSDATEI

Die Konfigurationsdatei für das Export-Tool muss folgende Einträge enthalten:

data_source

Data-Source der Quelldatenbank, aus der die Daten exportiert werden

username

Schema-Name der Quelldatenbank, aus der die Daten exportiert werden

password

DB-Passwort

directory

kompletter Pfad des Verzeichnisses, in dem die exportierten Daten abgelegt werden

type_hash_file

kompletter Pfad der Datei, in der das Type-Hash für die zu exportierenden Tabellen abgelegt ist

Zusätzlich gibt es optionale Parameter:

utf8

Wenn die Datenbank in UTF8 kodiert ist, muß hier eine 1 gesetzt werden.

include_tables

Liste der Tabellen, die ausschließlich exportiert werden sollen.

Bei der Angabe der Tabellennamen können auch reguläre Ausdrücke verwendet werden. Es wird immer nach nach Tabellen gesucht, deren Name mit dem angegebenen Ausdruck beginnt!

exclude_tables

Liste der Tabellen, die nicht exportiert werden sollen. Wird angewendet auf die Tabellen, die include_tables passiert haben.

Bei der Angabe der Tabellennamen können auch reguläre Ausdrücke verwendet werden. Es wird immer nach nach Tabellen gesucht, deren Name mit dem angegebenen Ausdruck beginnt!

TYPE-HASH

Die im Konfigurationsdatei angegebene Type-Hash-Datei muss folgenden Aufbau haben (siehe auch Dimedis::Sql):

$type_hash_ref = { 'table_name_x' => { 'column_name_i' => 'serial', 'column_name_j' => 'varchar(999)', 'column_name_k' => 'clob', 'column_name_l' => 'blob' , }, 'table_name_y' => { 'column_name_i' => 'numeric(2)', 'column_name_j' => 'blob', 'column_name_k' => 'char(16)', }, };

Hier muss ein Eintrag für jede zu exportierende DB-Tabelle vorhanden sein.

AUTOR

Sabine Tonn, sabine@dimedis.de

COPYRIGHT

Copyright (c) 2002 dimedis GmbH, All Rights Reserved

1 POD Error

The following errors were encountered while parsing the POD:

Around line 164:

Non-ASCII character seen before =encoding in 'für'. Assuming CP1252