Microsoft JDBC Driver 4.0 for SQL Server,這是一個 Type 4 JDBC 驅(qū)動程序,它通過 Java Platform Enterprise Edition 5 和 6 中可用的標(biāo)準(zhǔn) JDBC 應(yīng)用程序編程接口 (API) 提供數(shù)據(jù)庫連接。
由于在互操作性方面的不懈努力,Microsoft 已經(jīng)發(fā)布了 Microsoft JDBC Driver for SQL Server 的 4.0 版。所有 SQL Server 用戶都可以免費下載 Microsoft JDBC Driver 4.0 for SQL Server,并可以從任何 Java 應(yīng)用程序、應(yīng)用程序服務(wù)器或支持 Java 的小程序訪問 Microsoft® SQL Server® 2012、SQL Server 2008 R2、SQL Server 2008、SQL Server 2005 和 SQL Azure。這是一個 Type 4 JDBC 驅(qū)動程序,它通過 Java Platform Enterprise Edition 5 和 6 中可用的標(biāo)準(zhǔn) JDBC 應(yīng)用程序編程接口 (API) 提供數(shù)據(jù)庫連接。
JDBC 驅(qū)動程序的這一發(fā)行版與 JDBC 4.0 兼容,并在 Java 開發(fā)工具包 (JDK) 版本 5.0 或 6.0 上運(yùn)行。
在軟件包解壓縮之后,通過打開
%InstallationDirectory%\Microsoft JDBC Driver 4.0 for SQL Server\sqljdbc_<版本>\<語言>\
help\default.htm 以打開 JDBC 幫助系統(tǒng)。此時將在 Web 瀏覽器中顯示幫助系統(tǒng)。
系統(tǒng)要求:
支持的操作系統(tǒng): Linux, Unix, Windows 7, Windows Server 2008 R2, Windows Vista
上面的列表是某些受支持的操作系統(tǒng)的示例。JDBC 驅(qū)動程序可在任何支持使用 Java 虛擬機(jī) (JVM) 的操作系統(tǒng)上工作。但是,只有 Sun Solaris、SUSE Linux 以及 Windows 操作系統(tǒng)經(jīng)過了測試。
Java 開發(fā)工具包:5.0 和 6.0
安裝說明:
JDBC Driver 的 Microsoft Windows 版本安裝說明
注意:下載 Microsoft JDBC Driver 4.0 for SQL Server 則表明您接受此組件的《最終用戶許可協(xié)議》(EULA) 的條款和條件。請查看此頁上的《最終用戶許可協(xié)議》(EULA) 并打印一份 EULA 以供備案。
1.將 sqljdbc_<版本>_<語言>.exe 下載到一個臨時目錄。
2.運(yùn)行 sqljdbc_<版本>_<語言>.exe.
3.按照提示輸入安裝目錄。我們建議您將此 zip 文件解壓縮到 %ProgramFiles% 中的默認(rèn)目錄下:"Microsoft JDBC Driver 4.0 for SQL Server"。
4.在軟件包解壓縮之后,通過打開 %InstallationDirectory%\Microsoft JDBC Driver 4.0 for SQL Server\sqljdbc_<版本>\<語言>\help\default.htm 以打開 JDBC 幫助系統(tǒng)。此時將在 Web 瀏覽器中顯示幫助系統(tǒng)。
JDBC Driver 的 UNIX 版本安裝說明
1.將 sqljdbc_<版本>_<語言>.tar.gz 下載到一個臨時目錄。
2.若要解壓縮此壓縮的 tar 文件,請導(dǎo)航至要解壓縮驅(qū)動程序的目錄中,然后鍵入 gzip -d sqljdbc_<版本>_<語言>.tar.gz.
3.若要解壓縮 tar 文件,請將其移至您要安裝驅(qū)動程序的目錄中,然后鍵入 tar –xf sqljdbc_<版本>_<語言>.tar. 。
4.在軟件包解壓縮之后,通過打開 %InstallationDirectory%/Microsoft JDBC Driver 4.0 for SQL Server/sqljdbc_<版本>/<語言>/help/default.htm 以打開 JDBC 幫助系統(tǒng)。此時將在默認(rèn)的 Web 瀏覽器中顯示幫助系統(tǒng)。
從 3.0 到 4.0 的更改:
1765616 對于 katmai 和更高版本,DatabaseMetadata.getTypeInfo 現(xiàn)在為 date、time、
datetime2、datetimeoffset 返回新 java.sql.Type 值。
1764334 增加了對于跟蹤 JDBC XA 超時和 XID 的支持。
1750318 SQLServerDatabaseMetaData 函數(shù)現(xiàn)在可在重復(fù)使用入池連接時正確工作。
1768845 setTimestamp 和 updateTimestamp 的行為在關(guān)于往返方面已經(jīng)一致。驅(qū)動程序會在將數(shù)據(jù)發(fā)送到
服務(wù)器之前先將其舍入到 7 位小數(shù)。
1770134 具有最大值 (23:59:59.999) 的時間后端類型上的 updateTime 現(xiàn)在可導(dǎo)致正確的舍入行為。
1761042 DataSource Boolean 屬性現(xiàn)在會記錄退出調(diào)用。
1750330 更新了 XA SQL 腳本以避免在首次運(yùn)行時出現(xiàn)誤導(dǎo)錯誤。
1761393 為 unwrap 方法改進(jìn)了跟蹤。
1945579 DatabaseMetaData.getSchemas 現(xiàn)在可針對所有排序規(guī)則與 SQL Azure 和 SQL Server 一起正常工作。
1963089 hostNameInCertificate 連接屬性不再是針對 SQL Azure 驗證 SSL 證書時所必需的。
1958531 如果不是為數(shù)據(jù)庫鏡像設(shè)置的服務(wù)器連接在登錄過程中失。ɡ纾瑪(shù)據(jù)庫不存在),驅(qū)動程序不會自動重試。
1954701 插入重復(fù)行時引發(fā)的異常現(xiàn)在包含 SQLState 23000。
2055259 改進(jìn)了加載 sqljdbc_auth.dll 后集成身份驗證失敗時的錯誤信息。
2083373 針對 SQL Azure 的使用了無效參數(shù)的大型參數(shù)化查詢現(xiàn)在引發(fā)異常時不關(guān)閉連接。
2084385 getDate、getTimestamp、getDateTimeOffset 現(xiàn)在返回所有日期都使用 JRE 1.7 的正確值。
2105115 從 DatabaseMetaData.getColumns 獲取的 ResultSet 上的 getObject 現(xiàn)在可以正常工作。
注意:
1、該版本Microsoft JDBC Driver 4.0 for SQL Server的運(yùn)行環(huán)境:Linux;Unix;Windows 7;Windows Server 2008 R2;Windows Vista。
換言之,不再支持win2003和XP。
2、支持的SQL Server 版本為:
Microsoft SQL Server 2012
Microsoft SQL Server 2008 R2
Microsoft SQL Server 2008
Microsoft SQL Server 2005
Microsoft SQL AzureTM(新增)
不再支持SQL Server 2000及以下版本。而3.0則支持SQL Server 2000/2005/2008/2008r2版本。(http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=a737000d-68d0-4531-b65d-da0f2a735707)
做了個測試,下載Microsoft JDBC Driver 4.0 for SQL Server,并解壓,參照這篇文章http://www.cnblogs.com/downmoon/archive/2009/07/16/1524687.html ,復(fù)制sqljdbc4.dll,到JRE目錄下,并添加引用。
不料在DEMO程序中一直提示無法連接,提示“無法創(chuàng)建下列URL的連接:jdbc:sqlserver://ap2\\vegnet:1433;DatabaseName=Db2010Demo”,我的連接串如下:
driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
sqlserver.url=jdbc:sqlserver://ap2\\vegnet:1433;DatabaseName=Db2010Demo
sqlserver.user=demo
sqlserver.password=demo2012
sqlserver.maxconn=2000
確認(rèn)用戶名和密碼無誤,防火墻無誤,于是懷疑該新驅(qū)動程序不支持非默認(rèn)實例名的連接。換了另外服務(wù)器的默認(rèn)的實例也不行。后來,發(fā)現(xiàn)自己的SQL Server 默認(rèn)端口沒有設(shè)置,
如下圖:
設(shè)置好端口,重新啟動SQL Server服務(wù)。連接成功。