AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Zeos kennt "SET TERM" nicht?
Thema durchsuchen
Ansicht
Themen-Optionen

Zeos kennt "SET TERM" nicht?

Ein Thema von FBrust · begonnen am 6. Jan 2006 · letzter Beitrag vom 9. Jan 2006
Antwort Antwort
Benutzerbild von FBrust
FBrust

Registriert seit: 4. Okt 2002
Ort: Saarbrücken
654 Beiträge
 
Delphi 10.4 Sydney
 
#1

Zeos kennt "SET TERM" nicht?

  Alt 6. Jan 2006, 12:03
Datenbank: Firebird embedded • Version: 1.5.2 • Zugriff über: Zeos 6.5.1
Hallo,

ich versuche, über dieses Script

SQL-Code:
CREATE TABLE TBLLOCATIONS (
    ID INTEGER NOT NULL,
    STRNAME VARCHAR(50) NOT NULL);

CREATE GENERATOR GEN_TBLLOCATIONS_ID;
SET GENERATOR GEN_TBLLOCATIONS_ID TO 1;

SET TERM ^ ;

CREATE TRIGGER TRG_LOCATIONS FOR TBLLOCATIONS
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
  IF (NEW.ID IS NULL) THEN
    NEW.ID = GEN_ID(GEN_TBLLOCATIONS_ID,1);
END^

SET TERM ; ^
eine neue Tabelle inkl. Generator und Trigger in die Datenbank einzufügen.

Das Script wird aus einer Textdatei in die .Script-Property eines TZSQLProcessors geladen und per .Execute ausgeführt

Allerdings erhalte ich dann die Fehlermeldung "Invalid Token TERM".


Weiß jemand, woran das liegt?

Gruß
Frank
"Ich habe Dinge gesehen, die ihr Menschen niemals glauben würdet. Gigantische Schiffe, die brannten, draußen vor der Schulter des Orion" - Roy Batty
  Mit Zitat antworten Zitat
Benutzerbild von MarcoWarm
MarcoWarm

Registriert seit: 10. Sep 2003
Ort: Großhennersdorf
532 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

Re: Zeos kennt "SET TERM" nicht?

  Alt 6. Jan 2006, 12:19
"Set Term" ist kein gültiger SQL Befehl. Du kannst ihn einfach weglassen, dann wird es funktionieren.
Außerdem solltest du alle '^' löschen

Gruß

Marco
Marco Warm
TUO
TheUnknownOnes.net
  Mit Zitat antworten Zitat
proitsystems

Registriert seit: 4. Nov 2003
Ort: Augsburg
29 Beiträge
 
#3

Re: Zeos kennt "SET TERM" nicht?

  Alt 6. Jan 2006, 12:45
Hallo Marco!

Leider muß ich dich korregieren. SET TERM [...] ist ein gültiger Firebird Befehl. Und zwar lässt sich damit das Zeichen ändern, mit denen SQL Befehle unterteilt werden (sprich: ein neuer SQL Befehl beginnt). Dies ist bei Firebird z.B. wichtig, wenn man die Funktion "CREATE PROCEDURE" oder "CREATE TRIGGER" aufruft, da in der Prozedur der Standardtrenner ";" benutzt wird.

Da Frank den "Terminator" auf "^" gesetzt hat, sind die "^" am Ende der SQL Befehle richtig.


Gruss,

Marc Geldon
(PRO IT SYSTEMS >>> www.proitsystems.de)
  Mit Zitat antworten Zitat
proitsystems

Registriert seit: 4. Nov 2003
Ort: Augsburg
29 Beiträge
 
#4

Re: Zeos kennt "SET TERM" nicht?

  Alt 6. Jan 2006, 15:15
Anmerkung: ich weiß nicht ob es bei ZEOS eine Komponente gibt die "SQL Skripts" (!) ausführt. Die meisten führen nur Statements aus. Selbst bei FIBPlus (Zugriffskomponentenset für Firebird/Interbase) gibt es ein Extra-Komponentenset namens "FibPlus Script component set" von Nikolay Trifonov, welches man extra erwerben muß.

Vielleicht ist das bei ZEOS ja ähnlich.


mfG,

Marc Geldon
(PRO IT SYSTEMS >>> www.proitsystems.de)
  Mit Zitat antworten Zitat
Benutzerbild von FBrust
FBrust

Registriert seit: 4. Okt 2002
Ort: Saarbrücken
654 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Zeos kennt "SET TERM" nicht?

  Alt 9. Jan 2006, 11:01
Hallo,

ja, bei Zeos gibt es die Komponente "ZSQLProcessor" die z. B. per LoadFromFile mit einem Script belegt werden kann.

Ich habe nochmal in das Firebird/Zeos-Tutorial von Domo Sokrat hineingeschaut und da war der entscheidende Hinweis. Wenn im Script der Delimiter geändert wird, muss man vor dem Laden des Skriptes in der Komponente die Eigenschaft DelimiterType auf dtSetTerm setzen, ansonsten reagiert die Komponente etwas verschnupft auf die "SET TERM ^;"-Anweisung im Skript.


Also jetzt gehts, Tabelle, Generator, Trigger, alles wird korrekt angelegt, so wie es sein soll.


Gruß
Frank
"Ich habe Dinge gesehen, die ihr Menschen niemals glauben würdet. Gigantische Schiffe, die brannten, draußen vor der Schulter des Orion" - Roy Batty
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz