代码之家  ›  专栏  ›  技术社区  ›  RRUZ

确定Firebird SQL版本的方法?

  •  5
  • RRUZ  · 技术社区  · 15 年前

    是否存在确定Firebird SQL正在运行的版本的方法?使用SQL或代码(delphi、C++)。

    3 回复  |  直到 15 年前
        1
  •  10
  •   Re0sless    15 年前

    get_context 要查找引擎版本,请使用以下命令:

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

    你可以在这里了解更多 firebird faq ,但我相信它需要Firebird 2.1。

        2
  •  2
  •   mghie    15 年前

    你可以做两件事:

    • 使用服务API查询服务器版本,调用为 isc_service_query() isc_info_svc_server_version 参数您首选的Delphi组件集应该提供一个方法来包装此API。
      对于C++,有例如 IBPP 哪个有 IBPP::Service::GetVersion() 返回版本字符串。

    • 如果需要检查某些功能是否可用,那么对系统表执行语句来检查给定的系统关系或该关系中的某个字段是否可用就足够了(甚至更好)。如果数据库的ODS来自旧版本,则可能不支持某些功能,即使服务器版本足够新。
      ODS版本也可以通过API查询,使用 isc_database_info() 呼叫

        3
  •  -1
  •   volvox    15 年前

    也许你有FIBPlus( http://www.devrace.com/en/fibplus/ ) ... 它拥有安装、卸载、启动、停止Firebird/Interbase以及获取服务器版本等所需的所有工具和资源。在任何情况下,都可以从客户端驱动程序(Firebird的fbclient.dll)获取版本。飞燕( http://www.delphidabbler.com/software/verinfo/download )具有获取任何DLL文件版本的免费源。你可以很容易地使用它。