Beispiel für Aufruf des Loader mit Perl-Skript
Wenn ein Kommando zur Laufzeit
verändert wird, weil z. B. Benutzereingaben als Teil des Kommandos
fungieren, kann es leicht zu Syntaxfehlern kommen.
Die SQL-Methode liefert nur SQL-Fehlercodes. Um Syntaxfehler im DATALOAD-Kommando
abzufangen, benötigen Sie Exceptions.
Aufbau einer Datenbanksitzung
Anmelden an die Datenbankinstanz
Laden von Daten in die Tabelle mittels Loader-Kommando/s und
Abfangen von Ausnahmen (Exceptions)
Abmelden
Durch einen unkorrekten Datenpfad können im folgenden Beispiel ein Syntaxfehler oder ein Dateizugriffsfehler entstehen.
#
Verweis auf SAP DB Perl-Library
# -------------------------------
use SAP::DBTECH::loader;
#
Parsen der Aufrufargumente
# --------------------------
$user_name = $ARGV[0];
$password = $ARGV[1];
$database_name = $ARGV[2];
$data_path = $ARGV[3];
$server_node = "localhost";
#
Aufbau einer Datenbanksitzung zum Loader
# -------------------------------------------
$session = loader::Loader ($server_node, $database_name);
#
Anmelden an die Datenbankinstanz
# --------------------------------
$session->cmd("use user $user_name $password;");
#
Beispiel für die Benutzung des Exception Handlings
# --------------------------------------------------
eval{
$loadrc=$session->sql ("DATALOAD TABLE kunde ".
"knr 1-4 ".
"nachname 6-12 ".
"plz 14-18 ".
"ort 20-31 ".
"INFILE
$data_path\kunde.dat" );
print "$loadrc\n";}
if ($@){
print "command failed: $@\n";
}
#
Beenden der Datenbanksitzung
# ----------------------------
undef $session