Microsoft JDBC Driver 4.0 for SQL Server


在微軟發布SQL Server 2012的前一天,也同時發布了針對SQL Server 2012的JDBC Driver 4,下載地址為:

http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=49C554CA-41A0-472C-B728-75DF5789369C

 

從 3.0 到 4.0 的更改:

1765616 對於 katmai 和更高版本,DatabaseMetadata.getTypeInfo 現在為 date、time、
datetime2、datetimeoffset 返回新 java.sql.Type 值。

1764334 增加了對於跟蹤 JDBC XA 超時和 XID 的支持。

1750318 SQLServerDatabaseMetaData 函數現在可在重復使用入池連接時正確工作。

1768845 setTimestamp 和 updateTimestamp 的行為在關於往返方面已經一致。驅動程序會在將數據發送到
服務器之前先將其舍入到 7 位小數。

1770134 具有最大值 (23:59:59.999) 的時間后端類型上的 updateTime 現在可導致正確的舍入行為。

1761042 DataSource Boolean 屬性現在會記錄退出調用。

1750330 更新了 XA SQL 腳本以避免在首次運行時出現誤導錯誤。

1761393 為 unwrap 方法改進了跟蹤。

1945579 DatabaseMetaData.getSchemas 現在可針對所有排序規則與 SQL Azure 和 SQL Server 一起正常工作。

1963089 hostNameInCertificate 連接屬性不再是針對 SQL Azure 驗證 SSL 證書時所必需的。

1958531 如果不是為數據庫鏡像設置的服務器連接在登錄過程中失敗(例如,數據庫不存在),驅動程序不會自動重試。

1954701 插入重復行時引發的異常現在包含 SQLState 23000。

2055259 改進了加載 sqljdbc_auth.dll 后集成身份驗證失敗時的錯誤信息。

2083373 針對 SQL Azure 的使用了無效參數的大型參數化查詢現在引發異常時不關閉連接。

2084385 getDate、getTimestamp、getDateTimeOffset 現在返回所有日期都使用 JRE 1.7 的正確值。

2105115 從 DatabaseMetaData.getColumns 獲取的 ResultSet 上的 getObject 現在可以正常工作。

 

注意:

1、該版本Microsoft JDBC Driver 4.0 for SQL Server的運行環境: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 ,復制sqljdbc4.dll,到JRE目錄下,並添加引用。

不料在DEMO程序中一直提示無法連接,提示“無法創建下列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

確認用戶名和密碼無誤,防火牆無誤,於是懷疑該新驅動程序不支持非默認實例名的連接。換了另外服務器的默認的實例也不行。后來,發現自己的SQL Server 默認端口沒有設置,

如下圖:

邀月工作室

 

設置好端口,重新啟動SQL Server服務。連接成功!!

 其他示例:

JDBC Driver For SQL2000/2005/2008

java中如何以windows集成方式連接SQL Server


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM