如何确定 Firebird SQL 的版本?

发布于 2024-07-30 07:04:00 字数 64 浏览 3 评论 0原文

有什么方法可以确定 Firebird SQL 正在运行哪个版本? 使用 SQL 或代码(Delphi、C++)。

Is there any way to determine which version of Firebird SQL is running? Using SQL or code (Delphi, C++).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

挽心 2024-08-06 07:04:00

可能您有 FIBPlus ( http://www.devrace.com/en/fibplus/ ) ...它拥有安装、卸载、启动、停止 Firebird/Interbase 以及获取服务器版本等所需的所有工具和源。 无论如何,您都可以从客户端驱动程序(Firebird 的 fbclient.dll)获取版本。 DelphiDabbler ( http://www.delphidabbler.com/software/verinfo/download )有获取任何 DLL 文件版本的免费资源。 您可以轻松使用它。

May be you have FIBPlus ( http://www.devrace.com/en/fibplus/ ) ... it has all the tools and sources necessary to install, uninstall, start, stop Firebird/Interbase and also to get the version of the server and more. In any case, you can get the version from the client driver (fbclient.dll for Firebird). DelphiDabbler ( http://www.delphidabbler.com/software/verinfo/download ) has free sources that get file version of any DLL. You can easily use that.

我的黑色迷你裙 2024-08-06 07:04:00

你可以做两件事:

  • 使用Services API查询服务器版本,调用是isc_service_query()isc_info_svc_server_version 参数。 您首选的 Delphi 组件集应该提供一个方法来包装此 API。
    对于 C++,例如 IBPP 具有 IBPP::Service::GetVersion() 返回版本字符串。
    您得到的返回值与控制面板小程序中显示的字符串相同。

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

Two things you can do:

  • Use the Services API to query the server version, the call is isc_service_query() with the isc_info_svc_server_version parameter. Your preferred Delphi component set should surface a method to wrap this API.
    For C++ there is for example IBPP which has IBPP::Service::GetVersion() to return the version string.
    What you get back with these is the same string that is shown in the control panel applet.

  • If you need to check whether certain features are available it may be enough (or even better) to execute statements against the system tables to check whether a given system relation or some field in that relation is available. If the ODS of the database is from an older version some features may not be supported, even though the server version is recent enough.
    The ODS version can also be queried via the API, use the isc_database_info() call.

过气美图社 2024-08-06 07:04:00

如果你想通过 SQL 找到它,你可以使用 get_context 来查找引擎版本如下:

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

您可以在此处阅读更多信息 firebird 常见问题解答,但它需要 Firebird 2.1我相信。

If you want to find it via SQL you can use get_context to find the engine version it with the following:

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

you can read more about it here firebird faq, but it requires Firebird 2.1 I believe.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文