ITエンジニアの成長ブログ

ITエンジニアとして行う勉強の発信&日々の生活で体験した楽しいことをゆるく発信

SQL ServerのJDBCドライバの種類について

あるとき、SQL ServerJDBCドライバにjarファイルの名前の書式が異なる、2種類のJDBCドライバが存在することに気づきました。たとえば、以下の2種類です。

これらの違いを知らなかったので調べてみました。

まずは、結論から言うとこれは単純にJDBCバージョンの違いによるもののようです。

以下のページには、JDBCのバージョンによってどのJDBCドライバを選択すべきかを示す情報が載っています。
JDBC ドライバーの使用 - JDBC Driver for SQL Server | Microsoft Learn

以下に抜粋すると、「Microsoft JDBC Driver 6.0 および 4.2 SQL Server」までは「sqljdbc-x.x.jar」という名前の書式ですが、それ以降の最新版では「mssql-jdbc-x.x.x.jrex.jar」という書式に変わっているようです。

JDBCバージョンとJDBCドライバの適切なマッピング(抜粋)

つまり、冒頭のjarファイルはそれぞれ別のJDBCバージョンであることがわかりました。

補足ですが、上記の2つのJDBCドライバはサポートするJDBC仕様とJDKのバージョンは全く同じですが、同じ環境で使用する場合は統一しておいた方が無難ですね。サポートするJDBC仕様とJDKバージョンが同じでも、MicrosoftJDBCドライバとしてのバージョンが異なるので、おそらく内部の実装は変わっていると思いますので。

サポート内容(sqljdbc-4.2.jar)
サポート内容(mssql-jdbc-6.2.2.jre8.jar)

因みに、紹介しておいてあれですが上記2つのJDBCドライバは既にサポート対象外でした。新規で使わない方が良さそうですね。。。
サポート マトリックス - JDBC Driver for SQL Server | Microsoft Learn

今回はこの辺で。最後までお読みいただきありがとうございました。