Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Frage an die Firebird-Experten (FB2.1 (https://www.delphipraxis.net/105677-frage-die-firebird-experten-fb2-1-a.html)

hanspeter 27. Dez 2007 11:38

Datenbank: FB 2.1 • Zugriff über: IBDAC

Frage an die Firebird-Experten (FB2.1
 
Hallo,
bei mir crascht im Moment eine Software.
Ich bin noch nicht zum Suchen gekommen.
Kann es sein das bei FB 2.1 das Wort "START" zum Schlüsselwort geworden ist?
Zumindest in den Releacenodes habe ich noch nichts gefunden.
Eine Selectanweisung funktioniert nur noch, wenn ich den Tabellenname Start in Anführungsstriche setze.
Select * from Start ->
SQL error code = -104.
Token unknown - line 1, column 15.

Select * from "Start" geht.
Alle anderen Tabellen lassen sich abfragen.

Das kann eine Arbeit werden, in einer alten Software entweder alle SQL Abfragen den Tabellennamen in Anführungsstriche oder die Tabelle selbst umbenennen.

Gruß Peter

mkinzler 27. Dez 2007 11:42

Re: Frage an die Firebird-Experten (FB2.1
 
Scheint so zu sein. unter FB2.1 kann man auch keine Tabelle mit diesem Namen erzeugen.

hanspeter 27. Dez 2007 12:28

Re: Frage an die Firebird-Experten (FB2.1
 
Zitat:

Zitat von mkinzler
Scheint so zu sein. unter FB2.1 kann man auch keine Tabelle mit diesem Namen erzeugen.

Ich liebe undokumentierte Änderungen.
Die Datenbank wurde durch Backup in 1.5 und Restore unter 2.1 erzeugt.
Das hat funktioniert.
IBExpert zeigt die Tabelle Start an, clicke ich auf Daten, dann kan er sie aber nicht öffnen.
Mache ich eine Metadatenausgabe, dann wird die Create-Anweisung für diese Tabelle erzeugt aber keine Metadaten für Insert
extrahiert.

Gruß Peter

mkinzler 27. Dez 2007 12:33

Re: Frage an die Firebird-Experten (FB2.1
 
Die release Notes beziehen sich wohl auch auf Version 2, da die 2.1 ja noch nicht stable ist.

hanspeter 27. Dez 2007 12:53

Re: Frage an die Firebird-Experten (FB2.1
 
Zitat:

Zitat von mkinzler
Die release Notes beziehen sich wohl auch auf Version 2, da die 2.1 ja noch nicht stable ist.

Ich stelle im Moment die Datenbank um.
Da das Programm erst wieder ab März eingesetzt wird, dachte ich 2.0 gleich zu überspringen.
Zumal ich die 64bit Variante ausprobieren wollte.
Das ganze könnte aber auch ein Bug sein. START als Parameter gibt es als "TRANSACTION START" neu in 2.1.
Da wird mir wohl nichts weiter überrigbleiben, als auf 2.0 oder 1.5 zurückzugehen.

Gruß Peter

mkinzler 27. Dez 2007 12:54

Re: Frage an die Firebird-Experten (FB2.1
 
Oder den Tabellenname zu ändern, wenn du wie ich die hoffnung nicht aufgegeben hast das die Version bis April endlich fertig ist.

Hansa 27. Dez 2007 13:22

Re: Frage an die Firebird-Experten (FB2.1
 
Zitat:

Zitat von hanspeter
..Das ganze könnte aber auch ein Bug sein. START als Parameter gibt es als "TRANSACTION START" neu in 2.1.
Da wird mir wohl nichts weiter überrigbleiben, als auf 2.0 oder 1.5 zurückzugehen...

Erstens ist es immer bedenklich BEGIN, END, PROCEDURE usw. als Identifier zu benutzen (START auch). Da sage ich nur : selber Schuld, Anfängerfehler. :mrgreen:

Da dem aber anscheinend so ist, dann stelle den Namen um. Alles andere ist Blödsinn.

hanspeter 27. Dez 2007 13:36

Re: Frage an die Firebird-Experten (FB2.1
 
Zitat:

Zitat von Hansa
Zitat:

Zitat von hanspeter
..Das ganze könnte aber auch ein Bug sein. START als Parameter gibt es als "TRANSACTION START" neu in 2.1.
Da wird mir wohl nichts weiter überrigbleiben, als auf 2.0 oder 1.5 zurückzugehen...

Erstens ist es immer bedenklich BEGIN, END, PROCEDURE usw. als Identifier zu benutzen (START auch). Da sage ich nur : selber Schuld, Anfängerfehler. :mrgreen:

Da dem aber anscheinend so ist, dann stelle den Namen um. Alles andere ist Blödsinn.

Wieso Anfängerfehler?
Die Tabelle mit diesem Namen gibt es seit 1987 und hat alle Neu- und Weiterentwicklungen bis heute überlebt.
Mit dem Umstellen des Tabellennamens ist es nicht getan, da eine Reihe Trigger und Stored Procedure dranhängen.
1.2 Mio Quellzeilen nach Bezügen auf diese Tabelle abzusuchen ist auch nicht trivial.
Da ist zurück auf 2.0 bzw. 1.5 der einfachere Weg. 2.1 und größer bringt in einem bestehenden Projekt ohnehin nicht viel.
Und im übrigen in der Liste der reservierten Worte, sowie der evenduell zukünftig reservierten Worte ist dieser Begriff nicht.
Mir ist der Fehler nur untergekommen, da ein Anwender über Weihnachten versuchsweise FB2.1 installiert hatte.

p.s. warum bist du eigentlich so agressiv?

Peter

Hansa 27. Dez 2007 17:21

Re: Frage an die Firebird-Experten (FB2.1
 
Hanspeter, warst du 1987 an dem Design der DB beteiligt, oder wie ? Gabs damals schon Interbase ? :shock: Aber egal, Allerweltswörter scheiden als Identifier grundsätzlich aus. Wie man sieht : selbst nach 20 Jahren kann sich das rächen. Um nun solchem Ungemach aus dem Weg zu gehen, gibt es einen einfachen Weg : deutsche Identifier benutzen, dann passiert sehr wahrscheinlich überhaupt kein Fehler in dieser Art. "Start" ist zwar auch deutsch, aber was wäre mit "Anfang" gewesen ? Wohl kein Problem. Nur als Tip.

Zitat:

Zitat von hanspeter
...da ein Anwender über Weihnachten versuchsweise FB2.1 installiert hatte.

..dann sei doch foh, dass der Fehler früh genug aufgefallen ist und stelle die DB frühzeitig (also jetzt) um.

hanspeter 27. Dez 2007 17:48

Re: Frage an die Firebird-Experten (FB2.1
 
Zitat:

Zitat von Hansa
Hanspeter, warst du 1987 an dem Design der DB beteiligt, oder wie ? Gabs damals schon Interbase ? :shock: Aber egal, Allerweltswörter scheiden als Identifier grundsätzlich aus. Wie man sieht : selbst nach 20 Jahren kann sich das rächen. Um nun solchem Ungemach aus dem Weg zu gehen, gibt es einen einfachen Weg : deutsche Identifier benutzen, dann passiert sehr wahrscheinlich überhaupt kein Fehler in dieser Art. "Start" ist zwar auch deutsch, aber was wäre mit "Anfang" gewesen ? Wohl kein Problem. Nur als Tip.

Zitat:

Zitat von hanspeter
...da ein Anwender über Weihnachten versuchsweise FB2.1 installiert hatte.

..dann sei doch foh, dass der Fehler früh genug aufgefallen ist und stelle die DB frühzeitig (also jetzt) um.

Lassen wir das, die Diskussion hat ehe keinen Sinn.
Ja ich habe die Datenbank 1987 entworfen. Sie setzte in Turbopascal auf dem typisierten Files auf und wurde später auf Dbase III umgestellt.
Interbase kam ins Spiel als dieses Opensource wurde. Die Daten wurden immer über Software konvertiert.
Und "Anfang" für eine Datei, welche Starter und Startlisten enthält?
Ich denke das dies ein Parserfehler ist, welcher in der kommenden Version erledigt sein wird.


Gruß Peter


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:17 Uhr.
Seite 1 von 2  1 2      

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