各ドライバーの違いは何ですか?つまり、そのうちの1つがオープンソースであることに加えて
それぞれの長所/短所は何ですか?
どれをお勧めしますか?
これは、このテーマに関するjTDS自身の意見です:http://jtds.sourceforge.net/
各ドライバーの違いは何ですか?つまり、そのうちの1つがオープンソースであることに加えて
それぞれの長所/短所は何ですか?
どれをお勧めしますか?
これは、このテーマに関するjTDS自身の意見です:http://jtds.sourceforge.net/
それらは別個の実装です。jTDS ドライバーはタイプ 4 であり、私の経験ではパフォーマンスが向上しています。本番環境で jTDS ドライバーを 5 年間問題なく使用しています。
jTDS を使用することをお勧めします。
関連する違いの 1 つは、JTDS-Driver (v1.3.1) の JDBC 4.0 実装には少なくとも Java 7 が必要であるのに対し、Microsoft ドライバーの JDBC 4.0 実装は Java 6 で使用できることです。
これは、Hibernate 4.3 (JDBC 4.0 API に依存) を使用して Java 6 をサポートする場合に重要です。その場合、JTDS はオプションではありません。
jTDS を使用する主な理由は、Microsoft のドライバーがより多くの制限を持つ独自のライセンスを使用する場合に、より低い GPL ライセンスを使用することです。注意すべき制限の 1 つは、
- ソフトウェアの技術的な制限を回避する
ライセンス内には、次のような制限があります。
- ソフトウェアまたは本契約を第三者に譲渡すること
- 商用ソフトウェア ホスティング サービスにソフトウェアを使用する
プロダクションコードでは使用できないと解釈される可能性がありますが、ライセンスの以前のポイントでは許可されているようです。
以上のことをすべて言いましたが、SQL Server 自体に接続する jTDS などのサードパーティ製ドライバーを制限する場合と制限しない場合がある SQL Server 自体のライセンスについては知りません。
もう 1 つのポイントは、jTDS は maven を介して利用できますが、Microsoft ドライバーは利用できません。
<dependency>
<groupId>net.sourceforge.jtds</groupId
<artifactId>jtds</artifactId>
<version>1.3.1</version>
</dependency>
私の選択では、jTDS を使用します。これは、より寛容であり、トラブルに巻き込まれる可能性が最も低いです。それはより良いドライバーです。
jTDS のパフォーマンスは良好ですが、jTDS ではフェールオーバー プロパティがサポートされていないようです。SQL Server がセカンダリに切り替わった場合、新しい IP を選択して接続をリセットするためにアプリケーション/サーバーを再起動する必要がありました。