确定Firebird SQL版本的方法?

时间:2009-08-08 05:53:38

标签: c++ delphi firebird

是否存在确定Firebird SQL版本的任何方法?使用SQL或代码(delphi,C ++)。

再见

3 个答案:

答案 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 ++,例如IBPPIBPP::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的文件版本。你可以轻松使用它。