修正: Microsoft SQL Server JDBC 驅動程式 3.0 傳回 JRE 1.7 的不正確的日期值

文章翻譯 文章翻譯
文章編號: 2652061 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

徵狀

請考慮下列情況:
  • 您必須連接至 SQL Server 資料庫使用的 Microsoft SQL Server JDBC 驅動程式 3.0 版和 JAVA 版 1.7 (JRE 1.7) 的執行階段環境的 JAVA 應用程式。
  • 應用程式會使用任何下列三個函式來從資料庫中取得日期:
    • getDate()
    • getTimeStamp()
    • getDateTimeOffset()
  • SQL Server 資料庫中的資料型別日期, DATETIME2DATETIMEOFFSET.
在這個案例中,函式會傳回不正確的日期值。

備忘稿
  • 在西曆中的 1582 年比新函式所傳回的日期值時,才會發生這個問題。
  • 如果應用程式會使用下列其中一項,則不會發生這個問題:
    • Microsoft SQL Server JDBC 驅動程式版本 3.0 和 JRE 1.5/JRE 1.6
    • Microsoft SQL Server JDBC 驅動程式版本 2.0 和 JRE 1.7

發生的原因

「 徵狀 」 一節中所述的函式的行為取決於 JAVA 行事曆的 Api。這些 Api 的行為的變更會造成 Microsoft SQL Server JDBC 驅動程式版本 3.0 傳回不正確的值。

解決方案

Microsoft SQL Server JDBC 驅動程式版本 3.0 已修改,因此,「 徵狀 〉 一節所述的函式會傳回正確的值,無論 JRE 版本。Microsoft SQL Server JDBC 驅動程式 4.0 版,也會包含這項修改。

Hotfix 資訊

使用 Microsoft 的支援的 hotfix。然而,其目的只為修正問題,這篇文章所述。此 hotfix 只適用於發生本文所述之問題的系統上。此 hotfix 可能會接受其他測試。因此,如果您不會嚴重受到這個問題,我們建議您等候下一個包含此 hotfix 的軟體更新。

此 hotfix 已開放下載,有此知識庫文件頂端的 「 下載 Hotfix 」 區段。如果未出現此區段,請連絡 Microsoft 客戶服務及支援 」 取得 hotfix。

附註 如果發生其他問題,或者需要進行疑難排解時,您可能必須建立個別的服務要求。收取支援費用會套用到其他支援問題,以及此特定 hotfix 無法解決的問題。如需完整清單的 「 Microsoft 客戶服務和支援的電話號碼,或建立個別的服務要求,請造訪下列 Microsoft 網站:
看到
附註 「 下載 Hotfix 」 表單會顯示 hotfix 還是可以使用的語言。如果看不到您的語言,是因為 hotfix 未提供該語言。

安裝資訊

套用此 hotfix 之後,請依照下列步驟執行:

視窗
  1. 讀取此 hotfix 的 license.txt 檔案。
  2. 下載並使用 Microsoft SQL Server JDBC 驅動程式版本 3.0 來接受此授權。
  3. 下載 sqljdbc_<version>_enu.exe 檔案至暫存目錄。</version>
  4. 執行 sqljdbc_<version>_enu.exe 的檔案。</version>
  5. 當您接到提示時,請輸入安裝目錄。
    我們建議您先解壓縮壓縮 (.zip) 檔案,藉由使用下列的預設目錄:
    %ProgramFiles%\Microsoft SQLServer JDBC 驅動程式 3.0
  6. 封裝解壓縮之後,開啟 [藉由開啟 [JDBC 說明系統InstallationDirectory\Microsoft SQL Server JDBC 驅動程式 3.0 \sqljdbc_<version>\<language>\help\default.htm。JDBC 協助系統會顯示 [說明] 系統中的 web 瀏覽器。</language> </version>

UNIX
  1. 讀取此 hotfix 的 license.txt 檔案。
  2. 下載並使用 Microsoft SQL Server JDBC 驅動程式版本 3.0 來接受此授權。
  3. 下載 sqljdbc_<version>_enu.tar.gz 檔案至暫存目錄。</version>
  4. 若要解開壓縮 tar 連線到目錄要解壓縮驅動程式和類型:
    gzip-d sqljdbc_<version>_enu.tar.gz</version>
  5. 若要解開 tar 移動它到目錄要安裝的驅動程式和型別:
    tar-xf sqljdbc_<version>_enu.tar</version>
  6. 封裝解壓縮之後,開啟 [藉由開啟 [JDBC 說明系統InstallationDirectory\Microsoft SQL Server JDBC 驅動程式 3.0 \sqljdbc_<version>\<language>\help\default.htm。JDBC 協助系統會顯示 [說明] 系統中的 web 瀏覽器。</language> </version>


Hotfix 取代資訊

此 hotfix 是先前的快速修正程式 Microsoft SQL Server JDBC 驅動程式版本 3.0。

檔案資訊

檔案屬性 (或較新的檔案屬性),此 hotfix 的全球版本具有下表所示。其日期和時間,這些檔案會列出在國際標準時間 (UTC)。當您檢視檔案資訊時,會將它轉換為本地時間。若要查看 UTC 與當地時間的時差,請使用 時區 在索引標籤 日期和時間 在 [控制台] 中的項目。

摺疊此表格展開此表格
檔名檔案版本檔案大小日期時間平台
Sqljdbc.jar不適用 518,29408-D e C-201116: 05 不適用
Sqljdbc4.jar不適用 537,56608-D e C-201116: 05 不適用
Xa_install.sql不適用 37,1208-D e C-201116: 05 不適用
Sqljdbc_xa.dll 3.0.1301.203253,74408-D e C-201116: 05 IA-64
Sqljdbc_xa.dll 3.0.1301.203131,37608-D e C-201116: 05 x64
Sqljdbc_xa.dll 3.0.1301.203102,19208-D e C-201116: 05 x86
Sqljdbc_auth.dll 3.0.1301.203175,40808-D e C-201116: 05 IA-64
Sqljdbc_auth.dll 3.0.1301.20387,34408-D e C-201116: 05 x64
Sqljdbc_auth.dll 3.0.1301.20369,93608-D e C-201116: 05 x86




狀況說明

Microsoft 已確認這是"適用於 」 一節所列出的 Microsoft 產品的問題。

屬性

文章編號: 2652061 - 上次校閱: 2012年1月5日 - 版次: 2.0
這篇文章中的資訊適用於:
  • Microsoft SQL Server Java Database Connectivity Driver 3.0
關鍵字:?
kbqfe kbhotfixserver kbfix kbexpertiseadvanced kbsurveynew kbautohotfix kbmt KB2652061 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:2652061
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com