Jeder weiß, wie man die ODS-Version vom Firebird-Server, der für neue Datenbanken verwendet wird, abfragt/anfordert.Abfrage der verwendeten ODS-Version vom Firebird Server
Antwort
Connect auf eine Datenbank, die Sie
Überprüfen Sie die Motorversion kann - http://firebirdsql.su/doku.php?id=rdb_get_context
RDB $ GET_CONTEXT SELECT ('SYSTEM', 'ENGINE_VERSION') FROM RDB $ DATABASE
Ordnen Sie die Engine-Version mithilfe von Firebird-Dokumentation oder Knowledge Base-Artikeln wie http://www.ibase.ru/prevver/
der nativen ODS-Version zu
Das wird nicht funktionieren, weil Firebird 2.5 und früher gerne ältere ODS-Versionen verwenden werden, sodass die Engine-Version nicht direkt mit dem ODS verknüpft ist; es setzt nur eine untere und obere Grenze. –
Mir ist gerade aufgefallen, dass ich die Frage falsch gelesen habe, ich dachte, es ging darum, den ODS einer bestehenden Datenbank zu ermitteln, nicht von einer neuen. Leider funktioniert der Trick 'RDB $ GET_CONTEXT' nur für Firebird 2.1 und höher, und Sie kennen das ODS-Mapping. –
In MON$DATABASE
finden Sie MON$ODS_MAJOR
und MON$ODS_MINOR
in einer vorhandenen Datenbank.
Aber das setzt voraus, dass die Datenbank mindestens ODS 11.1 hat, da in Firebird 2.1 (ODS 11.1) die 'MON $ DATABASE' eingeführt wurde. –
, die ODS der vorhandenen Datenbank mitteilt, aber der Topicstarter hat einen angefordert, der "für neue Datenbanken verwendet wird" –
Ja. Sie müssen eine Dummy-Datenbank erstellen (und sie dann löschen). Es gibt keine Möglichkeit, es im Voraus zu wissen. Es hängt von verschiedenen Optionen ab, die nur bekannt sind, wenn Sie etwas tun. –
Da ich nichts Nützliches gefunden habe, habe ich eine kleine Funktion erstellt, die isql verwendet, um eine Bare-Bone-Datenbank zu erstellen und die ODS-Version mit direktem Dateizugriff zu extrahieren.
Mit der obigen Technik werden auch zukünftige Versionen des Firebird Servers funktionieren, ohne dass die Software aktualisiert werden muss.
Danke für alle Kommentare.
.... vorausgesetzt, Ihr Benutzer hätte Rechte zum Erstellen der Datenbank und der Pfad für die temporäre Datenbank wäre erlaubt. Wenn Ihr Programm diese Anforderungen sicherstellen kann, dann kann es funktionieren. –
- 1. Abfrage mit der Funktion "SUBSTR" von Firebird
- 2. Abrufen der für einen OleDBCommand verwendeten Abfrage
- 3. Einfache Firebird Abfrage sehr langsam
- 4. Abfrage firebird slow order von/distinct
- 5. Firebird Aliase
- 6. Firebird Datenbankreplikation
- 7. Ändern der Designfarbe vom Server
- 8. Firebird Ausnahme: Tabelle unbekannt
- 9. Erfahrungen mit Firebird Server über das Internet mit mehreren Clients?
- 10. Operationen mit der Zeit firebird
- 11. Firebird und IBCTable
- 12. So bereinigen Sie die vom Linux-Kernel verwendeten Caches
- 13. Firebird und SQL Server höchsten Reihen in Gruppen löschen
- 14. Verschlüsseln Sie den vom log4net AdoNetAppender verwendeten ConnectionString
- 15. Delphi, Csv, Import Firebird
- 16. Firebird benutzerdefinierte Installation
- 17. Bestimmen der verwendeten Stromquelle (Macintosh)
- 18. Firebird SqlConnection
- 19. Update-Abfrage vom Benutzer abgebrochen
- 20. Firebird UDF Erstellungsfehler
- 21. Firebird Standardzeichensatz
- 22. keine json Ausgabe vom Server
- 23. Wie GROUP BY in Firebird
- 24. Wählen Sie zuerst mysql Abfrage mit nicht verwendeten id
- 25. Firebird für Cloud-Anwendung?
- 26. Betrachtungs Website vom Server
- 27. Daten holen vom Server
- 28. Verbinden Sie den Firebird Client mit dem Server
- 29. Entfernen einer kürzlich verwendeten Abfrage aus der Liste auf der Registerkarte Arbeitselemente von ausstehenden Änderungen
- 30. WebApi 2.0 OData, Liste der in der Abfrage verwendeten SQL-Tabellen abrufen
Haben Sie diese Frage http://stackoverflow.com/questions/9972580/which-version-of-interbase-or-firebird-was-a-database-created-under gesehen –
Ich weiß nicht, Delphi, Wenn Sie jedoch eine Datenbankinformationsanforderung ('isc_database_info') ausführen können, können Sie nach den Informationseinheiten' isc_info_ods_version' und 'isc_info_ods_minor_version' suchen. –
Ich würde die ODS-Version kennen lernen, die verwendet wird, um neue Datenbanken (die ODS-Version des Servers) zu erstellen und nicht die ODS-Version eines vorhandenen. – LTi