使用 ADO 介面的應用程式可能發生異常,或者當應用程式連接至 Windows Vista、Windows XP 或 Windows Server 2008 中的 SQL Server 時可能發生資料遺失

Windows XP 支援已結束

Microsoft 於 2014 年 4 月 8 日結束對 Windows XP 的支援。此變更已影響您的軟體更新和安全性選項。 瞭解這對您的意義為何且如何持續受保護。

徵狀
請試想下列案例:
  • 應用程式連接至下列其中一項產品:
    • Microsoft SQL Server 2005
    • Microsoft SQL Server 2005 Express Edition
    • Microsoft SQL Server 2000
    • SQL Server Desktop Engine (也稱為 MSDE 2000)
  • 該應用程式使用 SET NOCOUNT ON 陳述式連線。
  • 該應用程式使用 Microsoft ActiveX Data Objects (ADO) 用戶端游標,將資料列插入含有識別欄位的表格中。
當應用程式查詢新插入的資料列的識別欄位值時,不正確傳回 "0" 值。當傳回此值時,使用 ActiveX Data Objects (ADO) 介面的應用程式可能發生異常,或是資料可能遺失。無論是發生電腦異常或資料遺失,都取決於應用程式處理這類案例的方法。

注意 這個問題只有在應用程式使用用戶端游標時才會發生。如果應用程式使用伺服器端游標,則不會影響該應用程式。

這個問題發生在下列 Windows 作業系統的 Microsoft Data Access Components (MDAC) 元件中:
  • Windows Vista Service Pack 1 (SP1)
  • Windows XP Service Pack 2 (SP2) 含 Hotfix 940569
  • Windows XP Service Pack 3 (SP3)
  • Windows Server 2008
解決方案
如果要解決此問題,請安裝下列「Microsoft 知識庫」文件中所述的 Hotfix:
961451 FIX:如果您使用用戶端游標將資料插入資料表,且該資料表所包含的應用程式識別欄位使用 ActiveX Data Objects,則當您查詢最後插入的識別值時,收到錯誤的值
注意 在舊版的本文之<解決方式>一節所述的 Hotfix 已由 961451 所述的 Hotfix 取代。
狀況說明
Microsoft 已確認本篇文章<適用於>一節所列之 Microsoft 產品確實有上述問題。
其他相關資訊
如果您在受影響和受支援的 Windows 作業系統上之 Microsoft Dynamics 中,使用 Retail Management System (RMS) Store Operations 或 Headquarters,便會受到此問題的影響。建議您套用此 Hotfix 預防無效的資料或資料遺失等問題。

如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
940569 在已安裝, Microsoft Data Access Components 2.8 電腦上的應用程式從 SQL Server 2005 資料庫接收不正確的值為識別資料行
如需有關軟體更新術語的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
824684 說明 Microsoft 軟體更新的標準術語
內容

文章識別碼:952287 - 最後檢閱時間:01/04/2010 11:49:57 - 修訂: 4.0

Windows Vista Service Pack 1, Windows Server 2008 Datacenter without Hyper-V, Windows Server 2008 Enterprise without Hyper-V, Windows Server 2008 for Itanium-Based Systems, Windows Server 2008 Standard without Hyper-V, Windows Server 2008 Datacenter, Windows Server 2008 Enterprise, Windows Server 2008 Standard, Microsoft Windows XP Service Pack 3

  • atdownload kbexpertiseadvanced kbfix kbqfe kbhotfixserver KB952287
意見反應