Firebirdのバージョン取得方法

現在のFirebirdのバージョンと、データベースのバージョンを同時に取得することができる。以下ではJaybirdデータベースドライバを使用するものとする。

JDBCによる取得方法

  import org.firebirdsql.jdbc.*;
  ....

  java.sql.Connnection conn ...
  FBDatabaseMetaData md = conn.getMetaData();
  return 
    "ODS-Ver:" + md.getOdsMajorVersion() + "." + md.getOdsMinorVersion() + ", " +
    "Firebird-Ver:" + md.getDatabaseMajorVersion() + "." + md.getDatabaseMinorVersion(); 

例えば以下になる。

ODS-Ver:11.2, Firebird-Ver:2.5

※ODSとはOn-Disk-Structureのことで、ディスク上の構造のこと。

FirebirdのバージョンとODS

FirebirdのバージョンとODSの関係については、All Firebird and InterBase On-Disk-Structure (ODS) versionsに記述がある。

主なところを拾うと、以下である。

ODS Firebird 他にどのODSをサポートするか
11.1 2.1 10.x/11.0
11.2 2.5 10.x/11.x
12.0 3.0 無し

※すなわち、Firebird3で以前のデータベースを使うには、いったんバックアップを行い、それをリストアする必要がある。

gstatによるバージョン取得とデータベースの移動

JDBC接続によらずにバージョンを取得する方法については、How to easily determine version of .fdb-file (Firebird database)に説明がある。