[SAPDB] SQL Datei importieren

micha

Erfahrenes Mitglied
Liebe Datenbank Community,

weder bei google.de noch hier in der Suchenfunktion habe ich eine Antwort auf meine Frage finden können. Irgendwie scheint es, als gäbe es für SAPDB fast keine Dokumentation oder Foren. Mir bleibt also nichts anderes, als zu hoffen, dass einer von Euch eine Lösung für mein - eher grundlegendes - Problem hat.

Ich habe eine MYSQL Datenbank auf einem Apachewebserver. Den dortigen Inhalt möchte ich in SAPDB importieren. Dazu kann man wunderbarerweise im PHPMYADMIN die Inhalte der Datenbank als SQL Datei exportieren. Nun gibt es jedoch das Problem, dass diese Datei nicht von SAPDB importiert werden kann. Wenn ich den Inhalt der Datei in das Fenster der SQL Abfrage poste, bekomme ich nur eine Fehlermeldung. Sofern ich jedoch nur einen einzigen Befehl ausführe, funktioniert es. Da die Datenbank jedoch derzeit schon über 1500 Einträge enthält, möchte ich das nicht alles per Hand kopieren.

> Gibt es eine Möglichkeit, eine SQL Datei komplett in SAPDB zu importieren? Oder gibt es eine Möglichkeit SAPDB mehr als einen Befehl im SQL Abfragefenster ausführen zu lassen? <

Danke schonmal für die Hilfe,

Micha
 
Hallo

Ich nehme an, dass du dbmcli zum Datenbankzugriff verwendest. Da gibt es die Aufruf-Option
Code:
-i <file_name>
mit der man die DBM-Befehle aus einer Datei auslesen kann. Du musst nur noch sql_execute vor jede Zeile in deiner SQL-Datei schreiben und die sql-Session starten. Dann müßte das eigentlich funktionieren.

Gruß

Frank
 
Hallo,

die Vorgehensweise ist schon richtig beschrieben, allerdings etwas knapp...

der vollständige dbmcli-Aufruf lautet:
dbmcli -d <Datenbankname> -n <Rechneradresse> -u <DBM-Benutzer>,<Passwort> -i <Datei>

In der Skriptdatei ist dann zunächst eine Anmeldung unter dem Benutzer nötig, dem die Tabellen gehören sollen:
sql_connect <SQL-Benutzer>,<Passwort>

Danach können beliebig viele sql_execute <SQL-Befehl> Kommandos folgen.

Bei den SQL-Befehlen sind folgende Besonderheiten zu beachten:

Keine kommentarzeilen
Keine Zeilenumbrüche in einem Befehl
Tabellen- und Feldnamen nicht in ` ` setzen
Kein abschließendes Semikolon

Bei einem Create-Table-Befehl zusätzlich:

SAPDB kennt nur den Datentyp INTEGER, nicht INT(n).
Defaultwerte vom Typ INTEGER ohne Hochkommas
Eine TYPE=... - Option ist nicht bekannt.
 

Neue Beiträge

Zurück