2010-12-09 109 views
14

每個驅動程序之間有什麼區別?我的意思是,除了其中一個開源ms sql microsoft的jdbc驅動程序和jTDS的驅動程序之間的區別

每個人的優點/缺點是什麼?

你會推薦哪一個?


這裏對這個問題的JTDS自己的見解:http://jtds.sourceforge.net/

+1

我無法想象通過類似jTDS的方式選擇Microsoft Java集成組件。 – Pointy 2010-12-09 00:33:25

+0

Atlassian的Confluence文檔建議在連接到SQL Server時通過MS JDBC jar使用JTDS ... – 2010-12-09 00:38:11

+2

查看此問題:http://stackoverflow.com/questions/1186932/using-jtds-driver – 2010-12-09 02:08:25

回答

16

它們是不同的實現。 jTDS驅動程序是一種類型4,根據我的經驗具有更好的性能。 5年來,我一直在生產環境中使用jTDS驅動程序,沒有任何問題。

我會推薦使用jTDS。

3

一個有關不同的是,該JTDS驅動器(V1.3.1)的JDBC 4.0實現至少需要Java 7中,而微軟的驅動程序的JDBC 4.0實施有Java 6

這如果您想使用Hibernate 4.3(依賴於JDBC 4.0 API)並支持Java 6,那麼這非常重要。在這種情況下,JTDS不是一種選擇。

2

使用jTDS的關鍵原因是,它使用較小的GPL許可證,其中微軟的驅動程序使用自己的許可證,而許可證對它有更多的限制。一個值得注意的限制是,你可能不

  • 工作周圍的任何技術限制的軟件

有諸如許可範圍內更多的限制:

  • 將軟件或本協議轉讓給任何第三方
  • 使用該軟件提供商業軟件託管服務

因爲它可以解釋,你可能不會在生產代碼中使用它,但在許可證較早點似乎允許它。儘管如此,我並不知道SQL Server本身的許可證可能會限制第三方驅動程序,比如連接到它的jTDS。

另一點是,jTDS通過maven可用,微軟的驅動程序不是。

<dependency> 
    <groupId>net.sourceforge.jtds</groupId 
    <artifactId>jtds</artifactId> 
    <version>1.3.1</version> 
</dependency> 

對於我的選擇,使用JTDS,更寬容和最有可能讓你陷入困境,和;這是一個更好的驅動程序。