Определить версию Firebird SQL? - PullRequest
       12

Определить версию Firebird SQL?

5 голосов
/ 08 августа 2009

Существуют ли какие-либо способы определения версии запущенного Firebird SQL? используя SQL или код (delphi, C ++).

Bye

Ответы [ 3 ]

9 голосов
/ 08 августа 2009

Если вы хотите найти его через SQL, вы можете использовать get_context , чтобы найти версию движка со следующим:

SELECT rdb$get_context('SYSTEM', 'ENGINE_VERSION') 
             as version from rdb$database;

Вы можете узнать больше об этом здесь faq firebird , но для этого требуется Firebird 2.1, я считаю.

2 голосов
/ 08 августа 2009

Две вещи, которые вы можете сделать:

  • Используйте API-интерфейс служб для запроса версии сервера. Вызов: isc_service_query() с параметром isc_info_svc_server_version. Ваш предпочтительный набор компонентов Delphi должен отображать метод для переноса этого API.
    Для C ++ есть, например, IBPP , который имеет IBPP::Service::GetVersion() для возврата строки версии.
    С этим вы получите ту же строку, которая показана в апплете панели управления.

  • Если вам необходимо проверить, доступны ли определенные функции, может быть (или даже лучше) выполнить операторы для системных таблиц, чтобы проверить, доступно ли данное системное отношение или какое-либо поле в этом отношении. Если ODS базы данных относится к более старой версии, некоторые функции могут не поддерживаться, даже если версия сервера достаточно свежая.
    Версия ODS также может быть запрошена через API, используйте вызов isc_database_info().

0 голосов
/ 08 августа 2009

Может быть, у вас есть FIBPlus (http://www.devrace.com/en/fibplus/) ... он имеет все инструменты и источники, необходимые для установки, удаления, запуска, остановки Firebird / Interbase, а также для получения версии сервера и т. В любом случае вы можете получить версию из драйвера клиента (fbclient.dll для Firebird). DelphiDabbler (http://www.delphidabbler.com/software/verinfo/download) имеет бесплатные источники, которые получают версию файла любой DLL. Вы можете легко использовать это.

...