题
有什么方法可以确定 Firebird SQL 正在运行的版本吗?使用 SQL 或代码(delphi、C++)。
再见
解决方案
如果你想通过SQL找到它,你可以使用 GET_CONTEXT 找到与以下引擎版本它:
SELECT rdb$get_context('SYSTEM', 'ENGINE_VERSION')
as version from rdb$database;
您可以阅读更多关于它在这里火鸟常见问题解答,但它需要火鸟2.1,我相信。
其他提示
你可以做两件事:
使用Services API查询服务器版本,调用方式为
isc_service_query()
与isc_info_svc_server_version
范围。您首选的 Delphi 组件集应该提供一个方法来包装此 API。
对于 C++ 有例如 IBPP 其中有IBPP::Service::GetVersion()
返回版本字符串。
您得到的结果与控制面板小程序中显示的字符串相同。如果您需要检查某些功能是否可用,那么针对系统表执行语句来检查给定的系统关系或该关系中的某些字段是否可用可能就足够了(甚至更好)。如果数据库的 ODS 来自旧版本,则即使服务器版本足够新,某些功能也可能不受支持。
也可以通过API查询ODS版本,使用isc_database_info()
称呼。
可能是你的FIBPlus( http://www.devrace.com/en/fibplus/ )......它拥有所有的工具和安装必要的资源,卸载,启动,停止火鸟/ InterBase和也获取服务器和多个版本。在任何情况下,你可以从客户端驱动程序的版本(fbclient.dll的火鸟)。 DelphiDabbler( http://www.delphidabbler.com/software/verinfo/download )有得到任何DLL的文件版本的免费资源。您可以轻松地使用它。