dsql_import - Kommandozeilen-Tool für datenbankunabhängige DB-Imports
dsql_import [-V] Konfigurationsdatei-Name dsql_import -c -V keine Statusmeldungen auf STDOUT ausgeben -c Muster-Konfigurationsdatei auf STDOUT ausgeben
Dieses Tool ermöglicht einen Import von Daten aus einem bestimmten Verzeichnis im Filesystem in ein bestehendes Datenbank-Schema (Oracle, MySQL oder mSQL).
Es werden alle Daten aus dem angegebenen Verzeichnis importiert, für die es einen Eintrag im übergebenen Type-Hash gibt (siehe Abschnitt 'KONFIGURATIONSDATEI').
Das angegebene Verzeichnis enthält für jede zu importierende Tabelle ein Unterverzeichnis mit dem Namen der entsprechenden Tabelle. Dort sind die zugehörigen Dateien abgelegt:
Enthält Informationen (Spaltenname, Typ und maximale Länge) zu den zugehörigen Tabellen-Spalten.
Enthält die eigentlichen Daten, wobei die einzelnen Spalten durch Tabulatoren voneinander getrennt sind.
Enthält eine Tabelle BLOB- oder CLOB-Spalten, sind die Inhalte dieser Spalten in separaten Dateien gespeichert. In der CSV-Datei ist dann für diese Spalten nur der Name der zugehörigen Datei abgelegt.
Die Start- und Endzeit des Imports, sowie die übergebenen Parameter und die Statusmeldungen, die während des Imports ausgegeben werden, werden in eine Meta-Datei im angegebenen Verzeichnis geschrieben.
Für jeden Import wird eine neue Meta-Datei erzeugt.
Die Konfigurationsdatei für das Import-Tool muss folgende Einträge enthalten:
Data-Source der Zieldatenbank, in die die Daten importiert werden
Schema-Name der Zieldatenbank, in die die Daten importiert werden
DB-Passwort
kompletter Pfad des Verzeichnisses, in dem die zu importierenden Daten liegen
kompletter Pfad der Datei, in der das Type-Hash für die zu importierenden Tabellen abgelegt ist
Zusätzlich gibt es die folgenden optionalen Parameter:
Anzahl der DB-Inserts, nach denen jeweils ein Commit erfolgen soll
Beispiel: inserts_per_transaction => 1 gibt an, dass nach jedem eingefügten Datensatz committed wird.
Wird der inserts_per_transaction-Parameter nicht angegeben, erfolgt jeweils ein Commit pro Tabelle.
Zeichensatzkonvertierung, im Formt CHARSET..CHARSET. Folgende Angaben sind hier möglich:
latin1..utf8 latin1..latin1 utf8..utf8
Default ist latin1..latin1.
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)', }, };
Sabine Tonn, sabine AT dimedis.de Jörn Reder, joern AT dimedis.de
Copyright (c) 2002-2004 dimedis GmbH, All Rights Reserved
1 POD Error
The following errors were encountered while parsing the POD:
Non-ASCII character seen before =encoding in 'für'. Assuming CP1252
To install Dimedis::Sql, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Dimedis::Sql
CPAN shell
perl -MCPAN -e shell install Dimedis::Sql
For more information on module installation, please visit the detailed CPAN module installation guide.