jTDS から Microsoft の JDBC ドライバへの切り替え

Bitbucket Server を SQL Server に接続する

このページの内容

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

このページでは、Microsoft SQL Sever へのアクセスに使用するドライバを jTDS から Microsoft SQL Server jDBC に変更する方法について説明します。

必要な操作について

Bitbucket Server を SQL Server に接続する」に記載されている手順に従って Microsoft SQL Server を使用するように Bitbucket Server を構成している場合、変更は不要ですただし、手動で JDBC URL を入力することで Microsoft SQL Server を使用するように Bitbucket Server を構成している場合、ドライバ クラスおよび URL システムを手動で更新しないと、システムが起動時にロックされます。

手順

In the Bitbucket Server home directory, bitbucket.properties must be edited to change the JDBC driver and URL. The existing configuration should look similar to this:

jdbc.driver=net.sourceforge.jtds.jdbc.Driver
jdbc.url=jdbc:jtds:sqlserver://localhost:1433;databaseName=stash;
jdbc.user=stashuser
jdbc.password=secretpassword

(warning)上記の JDBC URL は、Bitbucket Server を SQL Serrver に接続する際に Bitbucket Server によって構築される形式であり、Microsoft のドライバとの互換性を持つ URL になるように自動的に更新されます。管理者側で変更を加える必要はありません。URL に追加プロパティ (domain= など) が含まれる場合、手動で更新する必要があります。

Microsoft の SQL Server ドライバを使用するには、上記の設定を次のように更新します。

jdbc.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc.url=jdbc:sqlserver://localhost:1433;databaseName=stash;
jdbc.user=stashuser
jdbc.password=secretpassword

新しい URL で使用する正確な値はこのドキュメントの範囲外であり、置き換える jTDS 設定に基づいて選択する必要があります。

追加情報

The new JDBC driver class is: com.microsoft.sqlserver.jdbc.SQLServerDriver

jTDS ドライバの JDBC URL 形式は SourceForge (http://jtds.sourceforge.net/faq.html#urlFormat) のドキュメントに記載されています。

Microsoft の SQL Serverドライバの jDBC URL 形式は MSDN (http://msdn.microsoft.com/en-us/library/ms378428.aspx) に、追加プロパティのドキュメントは http://msdn.microsoft.com/en-us/library/ms378988.aspx に記載されています。

ドライバを変更する理由

ここをクリックしてすべての技術的な詳細を表示...

Bitbucket Server が永続レイヤーを簡素化するために使用する Hibernate の最新のリリースで、 使用する JDBC ドライバと接続プールで JDBC4 に準拠する要件が追加されました。JDBC4 は Java 6 で導入されました。

The jTDS driver used by releases prior to Bitbucket Server 2.1 is a JDBC3 driver, compatible with Java 1.3, and therefore cannot be used with newer versions of Hibernate. While jTDS 1.3.0 and 1.3.1 claim to implement JDBC4, and JDBC4.1, they actually don't. The new methods have been "implemented", but their implementations are all throw new AbstractMethodError(), which means they can't actually be used. (See an example here, on GitHub.)

jTDS 1.3.1 は機能する JDBC4 実装を提供しないため、jTDS を Microsoft 独自の SQL Server ドライバに置き換えることを判断しました。Microsoft のドライバは積極的にメンテナンスされていますが、jTDS ドライバは 2014 年以降更新されていません (2014 に小規模の更新が行われる前は数年間更新されませんでした)。Microsoft は完全な JDBC4.2 (Java 8) ドライバを提供し、SQL Server のすべての機能 (SQL Server 2016 を含む) をサポートします。

Bitbucket Server は jTDS の JDBC URL を、Microsoft の JDBC ドライバと互換性のある値に自動的に更新することを試行します。ただし、カスタム JDBC URL を使用したインストール (ドメイン認証を使用するためなど) の場合、このような自動更新はできません。手動で入力した URL は手動で更新する必要があります。

最終更新日 2019 年 3 月 4 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.