ACC2002:SQL 轉換精靈無法轉換大型資料表的資料

文章翻譯 文章翻譯
文章編號: 295231 - 檢視此文章適用的產品。
本文曾發行於 CHT295231
中級使用者:需要基本巨集、程式撰寫,以及互通技術。

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

重要:本文包含編輯登錄的資訊。在編輯系統登錄之前,請確定萬一發生問題時,您知道如何復原系統登錄。若需還原作業的相關資訊,請參閱 Regedit.exe 中的〈還原登錄〉說明主題,或 Regedt32.exe 中的〈還原登錄機碼〉說明主題。
全部展開 | 全部摺疊

在此頁中

徵狀

當您嘗試將 Microsoft Access 資料庫 (.mdb) 轉換為 Microsoft SQL Server 時,SQL 轉換精靈無法匯出大型資料表的資料。

發生的原因

Microsoft Access 用來匯出資料的 ODBC 通過查詢逾時。

解決方案

下一節說明解決這個問題的方案,與變更登錄有關。如果您不想變更登錄,此解決方案之後也有說明其他的解決辦法。

若要解決這個問題,請將登錄中的 QueryTimeout 值設定為 0。這樣查詢就不會逾時。若要將 QueryTimeout 值設定為 0,請依照下列步驟:
  1. 結束任何正在執行的 Microsoft Access 例項。
  2. 按一下 [開始],然後按一下 [執行]
  3. [執行] 對話方塊輸入 Regedit.exe,然後按一下 [確定]。這樣會啟動「登錄編輯程式」。
  4. 按一下登錄中子機碼下的 QueryTimeout 值:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\4.0\Engines\ODBC
  5. [編輯] 功能表按一下 [修改]
  6. [編輯 DWORD 值] 對話方塊按一下 [Base] 下的 [小數點]
  7. [數值資料] 方塊輸入 0,然後按一下 [確定]
  8. 關閉「登錄編輯程式」。
  9. 啟動 Microsoft Access,開啟資料庫,然後嘗試轉換。

解決方法



若要解決這個問題,請依照下列步驟:
  1. 僅轉換資料表結構。
  2. 使用「資料轉換服務」(DTS) 從 Access 資料表匯入資料,然後附加至轉換的結構。
這樣您就可以轉換資料庫結構,然後建立您要的關聯與觸發程序 /DRI 而不需要變更登錄設定。

如需如何使用 DTS 的詳細資訊,請按一下下面的文件編號,檢視 Microsoft Knowledge Base 中的下列文件:
285829 ACC2002:How to Use Data Transformation Services (DTS) to Export Data from a Microsoft Access Database to a SQL Server Database

狀況說明

Microsoft 已確認本篇文件開頭所列產品確實有上述問題。

其他相關資訊

將 Jet 資料庫轉換為 Microsoft SQL Server 時,SQL 轉換精靈會使用透過 Jet 資料庫引擎執行的 SQL ODBC 通過查詢。登錄中的 QueryTimeout 值指定逾時之前 ODBC 查詢可以執行的時間 (秒)。依據預設,QueryTimeout 值設定為 60 秒。因此任何 60 秒以上的 ODBC 通過查詢會逾時,而 SQL 轉換精靈會略過該項作業。

重現問題的步驟



注意:下列步驟以設定 QueryTimeout值為 1 秒模擬轉換 Northwind 範本資料庫的問題。這會使任何 ODBC 通過查詢在 1 秒之後逾時。
  1. 結束任何執行中的 Microsoft Access 例項。
  2. 按一下 [開始],然後按一下 [執行]
  3. [執行] 對話方塊輸入 Regedit.exe,然後按一下 [確定]。這樣會啟動「登錄編輯程式」。
  4. 按一下登錄中子機碼下的 QueryTimeout 值:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\4.0\Engines\ODBC
  5. [編輯] 功能表按一下 [修改]
  6. [編輯 DWORD 值] 對話方塊按一下 [Base] 下的 [小數點]
  7. [數值資料] 方塊輸入 1,然後按一下 [確定]
  8. 關閉「登錄編輯程式」。
  9. 啟動 Microsoft Access。
  10. 開啟範本資料庫 Northwind.mdb。
  11. [工具] 功能表上指向 [資料庫公用程式],然後按一下 [SQL 轉換精靈]
  12. 按一下 [建立新資料庫],然後按一下 [下一步]
  13. 選取您要轉換的 SQL Server,然後輸入認證資訊登入 SQL Server。
  14. 輸入新 SQL Server 資料庫的名稱,然後按一下 [下一步]
  15. 選取要轉換的所有資料表,然後按一下 [下一步]
  16. 保留下一頁的所有預設值,然後按一下 [下一步]
  17. 選取建立新 Microsoft Access 用戶端 / 伺服器應用程式的選項。
  18. [ADP Name] 方塊輸入路徑和檔案名稱,然後按一下 [完成]
  19. SQL 轉換報表可能會顯示所有的資料表都已轉換成功,或者您會在某些資料表下方看到下列訊息:
    資料表已略過。
  20. 關閉 SQL 轉換報表。這樣會自動開啟與新 SQL Server 資料庫連線的新 Access 專案 (.adp) 檔案。
  21. 開啟 [訂單明細] 資料表。
請注意資料表的結構已轉換,但資料表沒有包含任何資料。

?考

本文件是根據 Microsoft Knowledgebase 文件編號 Q295231 翻譯的。若要參考原始英文文件內容,請至以下網址:

http://support.microsoft.com/support/kb/articles/Q295/2/31.asp

屬性

文章編號: 295231 - 上次校閱: 2003年11月12日 - 版次: 1.0
這篇文章中的資訊適用於:
  • Microsoft Access 2002 Standard Edition
關鍵字:?
kbbug kbnofix kbdta kbclientserver accesscs KB295231
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