NAME
dsql_import - Kommandozeilen-Tool für datenbankunabhängige DB-Imports
SYNOPSIS
  dsql_import [-V] Konfigurationsdatei-Name
  dsql_import -c
		
  -V    keine Statusmeldungen auf STDOUT ausgeben
  -c    Muster-Konfigurationsdatei auf STDOUT ausgeben
DESCRIPTION
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:
- 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, 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.
KONFIGURATIONSDATEI
Die Konfigurationsdatei für das Import-Tool muss folgende Einträge enthalten:
- data_source
 - 
Data-Source der Zieldatenbank, in die die Daten importiert werden
 - username
 - 
Schema-Name der Zieldatenbank, in die die Daten importiert werden
 - password
 - 
DB-Passwort
 - directory
 - 
kompletter Pfad des Verzeichnisses, in dem die zu importierenden Daten liegen
 - type_hash_file
 - 
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:
- inserts_per_transaction
 - 
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.
 - recode
 - 
Zeichensatzkonvertierung, im Formt CHARSET..CHARSET. Folgende Angaben sind hier möglich:
latin1..utf8 latin1..latin1 utf8..utf8Default ist latin1..latin1.
 
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)',
  },
};
AUTOREN
Sabine Tonn, sabine AT dimedis.de
Jörn Reder, joern AT dimedis.de
COPYRIGHT
Copyright (c) 2002-2004 dimedis GmbH, All Rights Reserved
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 132:
 Non-ASCII character seen before =encoding in 'für'. Assuming CP1252