插入和更新在 C + + Microsoft Jet DAO MFC 應用程式可能無法運作執行 Windows Vista Service Pack 1] 或 [Windows Server 2008 的電腦

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

徵狀

在 C + + Microsoft Jet DAO MFC (CDao) 應用程式中插入和更新可能無法運作執行 Windows Vista Service Pack 1 (SP1) 或 Windows Server 2008 的電腦。 此外,您可能會收到下列錯誤訊息:
該欄位為太小,無法接受您嘗試要加入的資料量。 請試著插入或貼上較少的資料。

發生的原因

當下列情況成立時,就會發生這個問題:
  • 應用程式以 Microsoft Visual C++ 撰寫,並使用 CDao 類別來存取 Microsoft Jet 資料庫的資料來源。
  • 使用多位元組字元集,本 值設定為 字元集 的專案選項。 或沒有值設為這個選項。

    附註如果 UNICODE 值設定為 字元集 的專案選項,則不會發生這個問題。
  • 插入應用程式或更新已擷取從固定長度資料定義文字資料行。
  • 來源文字資料行包含的是資料行允許的最大長度的資料。 比方說 Text(10) 資料行包含 1234567890 的值。
  • 連續插入或更新發生從原始 CDaoRecordset 物件從傳回的變數。
  • 目標資料表資料行是下列資料行之一:
    • 擷取原始的資料相同的資料行
    • 定義為相同大小的一個文字資料行的另一個固定長度資料行

解決方案

若要解決這個問題,套用微軟知識庫文章 943509 所述的 Hotfix。

如需詳細資訊,請按一下下列的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
943509Windows XP Service Pack 2]、 [Windows Server 2003 Service Pack 1]、 [Windows Server 2003 Service Pack 2]、 [Windows Vista]、 [Windows Vista Service Pack 1] 及 [Windows Server 2008 在 Jet 4.0 資料庫引擎 Hotfix 套件的描述: 2007 年 10 月 23,
從 「 Microsoft 下載中心 」 下載下列檔案有:
摺疊此圖像展開此圖像
Download
Download the Update for Windows Server 2008 (KB943509) package now.
摺疊此圖像展開此圖像
Download
Download the Update for Windows Server 2008 for Itanium-based Systems (KB943509) package now.
摺疊此圖像展開此圖像
Download
Download the Update for Windows Server 2008 x64 Edition (KB943509) package now.
摺疊此圖像展開此圖像
Download
Download the Update for Windows Vista (KB943509) package now.
摺疊此圖像展開此圖像
Download
Download the the Update for Windows Vista for x64-based Systems (KB943509) package now.

其他可行方案

如果您無法套用微軟知識庫文章 943509 所述的 Hotfix,請使用下列方法之一如果要解決這個問題:
  • 更新應用程式。給新的變數執行此動作請從原始 Visual C++ 變數複製擷取的資料。然後,插入或更新從新的變數資料。
  • 更新資料庫設計。如果要執行此動作使用其中一個下列方法:
    • 修改資料行寬度大於任何預期的資料的一個字元。
    • 重新寬度定義為非固定長度。

狀況說明

Microsoft 已確認<適用於>一節所列之 Microsoft 產品確實有此問題。

屬性

文章編號: 952337 - 上次校閱: 2008年6月9日 - 版次: 2.0
這篇文章中的資訊適用於:
  • Microsoft Visual Studio 2008 Standard Edition
  • Microsoft Visual Studio 2008 Professional Edition
  • Microsoft Visual Studio 2008 Academic Edition
  • Microsoft Visual Studio 2005 Standard Edition
  • Microsoft Visual Studio 2005 Professional Edition
  • Microsoft Visual C++ 2005 Express Edition
  • Microsoft Visual Studio .NET 2003 Enterprise Architect
  • Microsoft Visual Studio .NET 2003 Enterprise Developer
  • Microsoft Visual Studio .NET 2003 Academic Edition
  • Microsoft Visual Studio .NET 2003 專業版
  • Microsoft Visual C++ .NET 2003 Standard Edition
  • Microsoft Visual Studio .NET 2002 Enterprise Architect
  • Microsoft Visual Studio .NET 2002 Enterprise Developer
  • Microsoft Visual Studio .NET 2002 Professional Edition
  • Microsoft Visual C++ .NET 2002 Standard Edition
  • Windows Server 2008 Enterprise
  • Windows Server 2008 Datacenter
  • Windows Server 2008 Standard
  • Windows Server 2008 for Itanium-Based Systems
  • Windows Server 2008 Standard without Hyper-V
  • Windows Server 2008 Enterprise without Hyper-V
  • Windows Vista 商用進階版
  • Windows Vista 家用入門版
  • Windows Vista 旗艦版
  • Windows Vista 商用入門版
  • Windows Vista Service Pack 1
  • Windows Vista 商用進階 64 位元版
  • Windows Vista 家用入門 64 位元版
  • Windows Vista 家用進階 64 位元版
  • Windows Vista 旗艦 64 位元版
  • Windows Vista 商用入門 64 位元版
關鍵字:?
kbmt kbtshoot kbpubtypekc kberrmsg kbprb KB952337 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:952337
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