Entwickler-Ecke

Datenbanken - SQLScript ausführen


UGrohne - Mo 27.01.03 17:51
Titel: SQLScript ausführen
So, jetzt kommt gleich das nächste Problem, dass ich bisher immer fein umschifft hab, aber jetzt gehts nimmer.

Ich muss zum erstellen einer DB ein komplettes SQL-Script ausführen. Wie mache ich das? Wenn ich das in IBSQL.SQL.Text reinschmeiss kommt beim Ausführen, beim 2. CREATE TABLE ein Fehler vom SQL-Server Unknown Token usw. Er versucht also die Befehle im Zusammenhang auszuführen und nicht nacheinander mit Hilfe des Terminators, so wie in der IBconsole. Hat jmd eine Lösung für mich?

Gruß


CenBells - Sa 01.02.03 15:51

Hallo,

ich mache das immer so, das ich mir die skripte im programm zerlege. Und zwar lese ich einmal das ganze skript ein, und stecke dann immer nur alles vom anfang, bis zum nächsten terminator in die ibsql kompo, und dann lese ich von dem gefundenen Teminator bis zum nächsten
usw...

Gruß
Ken


UGrohne - Sa 01.02.03 16:10

Darauf wirds wohl leider hinauslaufen :-(

Danke....


CenBells - Sa 01.02.03 16:24

Hallo,

du könntest natürlich auch das isql programm benutzen. Das ist kommandozeilen gesteuert. Da kannst Du auch das ganze Skript als parameter übergeben.

Gruß
Ken


hansa - Sa 01.02.03 19:41

Ne,

laß das von vorne herein in der IBconsole ablaufen. Alles andere macht zuviel Ärger.

Gruß
Hansa


UGrohne - Sa 01.02.03 19:54

Das geht aber auch nru, wenn der Client die hat und ehrlich gesagt, bis ich demjenigen erklärt hab, wie er das machen soll......*schwitz*

Es geht darum, dass ich 2 DB-Progs habe und diese sollen miteinander kompatibel sein, d.h. dass beide auf einen gewissen gemeinsamen Datenbestand zugreifen. Wenn jetzt das 2. Programm installiert wird, soll es die bestehende Datenbank upgraden. Wie is das mit ISQL? Braucht man da noch extra Dateien?

Gruß


CenBells - Sa 01.02.03 20:29

In der ibconsole kann es auch probleme geben...

ich weiß nicht so genau, ob du noch extra dateien brauchst.
Aber ich glaube nicht. Ich würde das upgrade aus dem zweiten programm beim start mittels shellexecute ausführen. :wink:
Weiß aber nicht, ob dir das hilft.

Gruß
Ken


andy05 - Mo 24.02.03 18:15

Für Deine Probleme gibt es ein SUPER-Package ( DCLRXBD5). Darin enthalten ist die SqlScript Komponente. Mit der habe ich schon die komplexesten Scripts aufgebaut !!!


UGrohne - Mo 24.02.03 18:21

OK, danke, werd ich mir merken, habs jetzt aber schon auf andere Art gelöst, funktioniert einwandfrei mit zeilenweisem Auslesen.

Aber ich werde das mal im Hinterkopf behalten, danke.


bis11 - Mo 24.02.03 18:41

@andy05

wo bekommt man diese Kompo her ? Ist die bei Delphi schon mit drin ?


andy05 - Di 25.02.03 11:14

Package ( DCLRXBD5 )... ich glaube Du findest diese Kompo bei den RX - (RXDB) - Packages.