DBServer: Version ermitteln

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

DBServer: Version ermitteln

Beitrag von monta »

Es ist eigentlich nicht nötig aber wäre hübsch:

Wie kann man den von Firebird, besser gesagt Firebird embedded, die Serverversion beispielsweise beim starten ermitteln?

in der firebird.msg gibts dazu ja scheinbar nen String:

Code: Alles auswählen

Version(s) for database "%s"


Nur logischer Weise mit Parameter und genau den will ich, nur wie kann ich firebird veranlassen, diese Nachricht auszugeben.
Johannes

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6200
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Beitrag von af0815 »

Normalerweise gibt es für solche Abfragen Systemtabellen, zumindest bei den MS-Systemen. Somit kann man solche Infos per SE_LECT .. from sys_xxxx herausbekommen.

Meta-Daten sind in den RDB$... gespeichert, mal sehen ob ich Info dazu finde.

Edit:
Nur SHOW SQL DIALECT gefunden. 1 kleiner Version 5.5 2 ist Migrating und 3 = Version 6.0

Ich habe zulange auf MS-DBs gearbeitet(dort ist es @@VERSION)
Zuletzt geändert von af0815 am Di 14. Aug 2007, 20:07, insgesamt 1-mal geändert.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

In den Systemtabellen (Bei Firebird sinds 33) kann ich dazu nichts finden.

Abgesehen davon, wenn die Infos in der Datenbank liegen, woher weiß ich dann aber, welche Version der aktuelle Server hat, wenn die DB von nem anderen Server beispielsweise stammt? Oder überschreibt immer der letzte Server der die DB geöffnet hat den Wert?

Dialect hilft meiner Meinung nach auch nicht, weil Firebird bei mir immer auf 3 läuft.

@@VERSION wo? Im SQL-Editor?
Sowas scheints gar nicht bei FB zu geben.
Johannes

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6200
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Beitrag von af0815 »

Da es bei MS ausserhalb der Usertabellen auch Systemtabellen gibt, ist es kein Problem, den diese sind für jeden Server spezifisch. Wie gesagt, zu lange auf MS-Servern gearbeitet.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

Ach so.

Ich habe aber nen anderen Weg, der vielleicht gehen könnte. Im Eigenschaftendialog von Windows wird die Datei ja mit Version angezeigt, jetzt müsste ich nur noch herausfinden, wie ich diese Dateiversion aus der DLL auslesen kann.

GetFileDescription liefert ja scheinbar nur die Beschreibung, aber nicht die Version.
Johannes

Antworten