FIX: Jet 4.0 會建立不正確的 CREATE TABLE 陳述式

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本:250637
本文已封存。本文係以「現狀」提供且不會再更新。
徵狀
當 Microsoft Jet 資料庫引擎 4.0 匯出資料表透過 ODBC 驅動程式不需要識別項引號字元時,會建立不正確的 CREATE TABLE 陳述式。

如果產生 ODBC 追蹤一個您會看到類似下列的陳述式:
CREATE TABLE (整數、 varchar(40)、 varchar(20),雙,smallint、 smallint)

請注意資料表名稱和所有欄位名稱都將遺失,會導致失敗後端資料庫中。

這可以重現與任何產品或技術使用 Jet] 4.0 例如 Access 2000 和 DAO 3.6。
發生的原因
預設情況下,Jet 含括表格和欄位名稱以引號字元建構 SQL 陳述式時。使用 ODBC 驅動程式,它不需要識別項引號字元時,Jet 的剖析邏輯中的錯誤離開出資料表和欄位的名稱。

若要判斷是否某些 ODBC 驅動程式支援的識別項引號字元,使用 ODBC API SQLGetInfo 具有型別 SQL_IDENTIFIER_QUOTE_CHAR。如果驅動程式不支援這,則會傳回空白的。
解決方案
如果要解決這個問題,安裝 Jet Hotfix 版本 4.0.3515 或升級到最新的 Jet 4.0 Service Pack]。
狀況說明
Microsoft 已確認這是在本文開頭所列之 Microsoft 產品中的問題。

Jet 4.0 服務套件 4] 中,這個問題已經獲得修正。
其他相關資訊
支援的 Hotfix 現在可以從 Microsoft,但它只用來修正本文所述的問題。僅適用於發生此特定問題的系統。此 Hotfix 可能會接受其他測試。因此,如果您不會嚴重影響這個問題,我們建議您等候下一個 Jet 4.0 Service Pack 包含此 Hotfix。

如果要立即解決這個問題,洽詢 Microsoft 技術支援部以取得此修正程式。如需 Microsoft 產品支援服務電話號碼及支援成本的相關資訊的完整清單,請造訪下列 Microsoft 網站]:注意: 在特殊情況中通常會因支援電話所產生的費用如果,可能就不收取 Microsoft 支援人員認為某特定更新程式可以解決您的問題。典型的支援成本將會套用到其他支援問題是所做不限定特定有問題的更新程式。



手動安裝

請仔細遵循述 Readme.txt 檔案中 Hotfix 套件所提供的指示。被提供連同每個安裝指示 Jet 元件的分析。
参考
若要升級至最新的 Jet 4.0 Service Pack,請參閱下列微軟知識庫文件:
239114如何: 取得最新的 Service Pack,為 Microsoft Jet 4.0 資料庫引擎
Jet 4.0 建立遺失的欄位名稱 odbc 引號識別項的資料表

警告:本文為自動翻譯

內容

文章識別碼:250637 - 最後檢閱時間:02/23/2014 19:28:10 - 修訂: 4.1

Microsoft Data Access Components 2.1, Microsoft Data Access Components 2.5, Microsoft Data Access Components 2.6, Microsoft Access 2000 Standard Edition, Microsoft Access 2002 Standard Edition

  • kbnosurvey kbarchive kbmt kbqfe kbhotfixserver kbbug kbdatabase kbfix kbjet kbmdac210sp2fix KB250637 KbMtzh
意見反應