dsql_import - Kommandozeilen-Tool für datenbankunabhängige DB-Imports


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..utf8

Default 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

 dsql_import - Kommandozeilen-Tool für datenbankunabhängige DB-Imports