ACC2002:"伺服器錯誤 134 」 錯誤訊息當您嘗試轉換您的資料庫

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

按一下這裡查看此文章的英文版本:282390
本文已封存。本文係以「現狀」提供且不會再更新。
重要: 本文包含修改登錄的相關資訊。修改登錄之前請確定它備份起來,並請確定您瞭解如何在發生問題時還原登錄。如如何備份、 還原,以及編輯登錄有關,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項:
256986Microsoft Windows 登錄的描述
中級使用者: 需要基本巨集]、 [程式碼撰寫,] 以及 [交互操作性技巧。

本文只適用於 Microsoft Access 資料庫 (.mdb)。

徵狀
當您嘗試轉換您的資料庫時,可能會收到類似下列的錯誤訊息:
伺服器錯誤 134: 的變數名稱 '@ Form......' 已經宣告。變數名稱必須是唯一一個查詢批次或預存程序內。

伺服器錯誤 170: 線條 7: 附近的語法不正確 ') '。
發生的原因
如果您的資料庫中的查詢包含透過先 30 個字元符合的參數,就會發生這個問題。比方說下列查詢會產生錯誤訊息:
   PARAMETERS [123456789012345678901234567890start] DateTime,    [123456789012345678901234567890end] DateTime;   SELECT item, date   FROM Table1   WHERE date Between [123456789012345678901234567890start] And    [123456789012345678901234567890end];				
附註此查詢包含符合彼此透過先 30 個字元的兩個參數:
  • [123456789012345678901234567890start] 日期時間
  • [123456789012345678901234567890end] 日期時間
解決方案
若要解決這個問題,變更參數名稱一種兩者不同內第一次 30 個字元。範例如果您的查詢包含下列兩個參數
  • [123456789012345678901234567890start] 日期時間
  • [123456789012345678901234567890end] 日期時間
您可以將參數變更為下列:
  • [] start123456789012345678901234567890日期時間
  • [] end123456789012345678901234567890日期時間
請注意 「 SQL 轉換精靈 」 接受只在第一次 30 字元,因此產生的 SQL 查詢包含下列參數:
  • (@ start1234567890123456789012345)日期時間
  • (@ end123456789012345678901234567)日期時間
狀況說明
Microsoft 已確認這是在本文開頭所列之 Microsoft 產品中的問題。
其他相關資訊
警告: 如果您未正確使用登錄編輯程式可能會導致嚴重的問題,甚至必須重新安裝作業系統。Microsoft 不保證您可以解決因不當使用 「 登錄編輯器 」 的問題。使用 「 登錄編輯程式 」,請自行負擔相關的風險。

重現問題的步驟

  1. 啟動 [登錄編輯程式 (Regedit.exe)。
  2. 開啟下列登錄機碼:
    HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Access\Wizards\Preferences\Upsizer\Quiet
  3. 將這個機碼值設定為 [否],然後再關閉 [登錄編輯程式。
  4. 啟動 Microsoft Access,然後建立新的資料庫 [Db1.mdb。
  5. 建立新的資料表中 Db1.mdb:
       Table: Table1   ----------------------   Field Name: ID   Data Type:  Text   PrimaryKey: Yes   Field Name: Date   Data Type:  Date/Time   Field Name: Item   Data Type:  Text					
  6. 在 [資料庫] 視窗中按一下 [查詢],然後再按兩下 [建立新的查詢設計檢視中
  7. 按一下 [關閉],然後按一下 [查詢設計] 工具列上的 [SQL]。
  8. 在 [SQL 編輯器] 中,請輸入下列查詢:
       PARAMETERS [123456789012345678901234567890start] DateTime,    [123456789012345678901234567890end] DateTime;   SELECT item, date   FROM Table1   WHERE date Between [123456789012345678901234567890start] And    [123456789012345678901234567890end];					
  9. 將查詢儲存為 qryLongParameters,然後關閉 [SQL 編輯器]。
  10. 在 [工具] 功能表上指向 [資料庫公用程式,然後按一下 [SQL 轉換精靈]。
  11. 轉換到 SQL Server 資料庫。

    您收到類似本文 < 徵狀 > 一節中所列的錯誤訊息。
参考
如需有關轉換您的資料庫按一下 [說明] 功能表上的 [Microsoft Access 說明,在 「 Office 小幫手 」 或 「 解答精靈 」 中輸入 轉換,然後再按一下 [搜尋] 以檢視所傳回的主題。

pra

內容

文章識別碼:282390 - 最後檢閱時間:10/21/2013 05:06:02 - 修訂: 4.2

Microsoft Access 2002 Standard Edition

  • kbnosurvey kbarchive kbmt kbbug kbnofix KB282390 KbMtzh
意見反應