是否存在确定Firebird SQL版本的任何方法?使用SQL或代码(delphi,C ++)。
再见
答案 0 :(得分:9)
如果您想通过SQL找到它,可以使用get_context通过以下方式查找引擎版本:
SELECT rdb$get_context('SYSTEM', 'ENGINE_VERSION')
as version from rdb$database;
你可以在firebird faq阅读更多相关信息,但我相信它需要Firebird 2.1。
答案 1 :(得分:2)
你可以做两件事:
使用服务API查询服务器版本,使用isc_info_svc_server_version
参数调用isc_service_query()
。您首选的Delphi组件集应该是一个包装此API的方法
对于C ++,例如IBPP有IBPP::Service::GetVersion()
来返回版本字符串
您使用这些内容返回的内容与控制面板小程序中显示的字符串相同。
如果需要检查某些功能是否可用,则可能足以(或甚至更好)执行针对系统表的语句,以检查给定系统关系或该关系中的某个字段是否可用。如果数据库的ODS来自旧版本,则可能不支持某些功能,即使服务器版本足够新
也可以通过API查询ODS版本,使用isc_database_info()
调用。
答案 2 :(得分:-1)
可能你有FIBPlus(http://www.devrace.com/en/fibplus/)...它拥有安装,卸载,启动,停止Firebird / Interbase以及获取服务器版本等所需的所有工具和资源。在任何情况下,您都可以从客户端驱动程序获取版本(fbclient.dll for Firebird)。 DelphiDabbler(http://www.delphidabbler.com/software/verinfo/download)有免费的源代码,可以获取任何DLL的文件版本。你可以轻松使用它。