ACC2000: Microsoft Jet 未通過 WHERE 子句至 ODBC 資料來源

文章翻譯 文章翻譯
文章編號: 282604 - 檢視此文章適用的產品。
本文已封存。本文係以「現狀」提供且不會再更新。
進階: 須具備專家編碼、 互通性,與多使用者技能。

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

全部展開 | 全部摺疊

在此頁中

徵狀

Access 2000 服務版本 1 (SR-1) 與 Microsoft Jet 4.0 服務封包 5 (SP5) 用以連結從相同伺服器上的兩個不同資料庫的查詢表時您可能會發現 Jet 未通過 WHERE 子句參數至 ODBC 資料來源下列兩個動作均為真時:
  • 查詢會建立兩個資料表之間的聯結。
  • 查詢中包含一個 WHERE 子句,會同時使用 ORAND 運算子。
您可能會發現當查詢大型資料集的在這些情況下查詢效能是非常緩慢。當連結資料表儲存密碼,否則可能不會影響效能。這只會影響 Msjet40.dll 版本 4.0.4431.x

發生的原因

針對一或兩個查詢的資料表,Jet 並不會傳送 WHERE 子句。這會導致伺服器至用戶端傳回所有資料列。

解決方案

如果要解決這個問題,安裝最新的 Jet 4.0 Service Pack。如需有關如何取得及安裝最新的 Jet 4.0 Service Pack 的詳細資訊,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
239114如何: 取得最新的 Service Pack,為 Microsoft Jet 4.0 資料庫引擎

狀況說明

Microsoft 已確認這是在本文開頭所列之 Microsoft 產品中的問題。Jet 4.0 服務封包 6 (SP6) 中已先解決此問題。

其他相關資訊

重製行為的步驟

  1. 正在執行 Microsoft SQL Server 7.0 電腦上使用企業管理員建立新的資料庫稱為 pubs2。
  2. 開啟企業管理員]。
  3. 展開伺服器群組,為本機伺服器。
  4. 資料庫,] 上按一下滑鼠右鍵,然後選取建立新的資料庫選項 (接受所有預設值)。
  5. 將新的資料庫名稱變更為 pubs2,並關閉對話方塊。
  6. 從 [pubs] 複製 Authors 資料表到 pubs2,使用企業管理員,或在 Query Analyzer 中執行以下的 SELECT 陳述式:
    SELECT * INTO pubs2作者 FROM pubs作者
  7. 在呼叫 Test.mdb 的 Access 中建立新的資料庫。
  8. 建立新的系統 DSN TestPubs 到 SQL 7.0 伺服器。pubs 中變更預設資料庫,並提供有效的使用者識別碼和密碼。
  9. 建立新的系統 DSN TestPubs2 到 SQL 7.0 伺服器。變更預設資料庫為 pubs2 並提供有效的使用者識別碼和密碼。
  10. 連結至 Test.mdb pubs.titleauthor,藉由使用 「 TestPubs]。 不要儲存密碼。
  11. 連結至 Test.mdb pubs2.authors,藉由使用 「 TestPubs2]。 不要儲存密碼。
  12. 在中 Test.mdb 的設計檢視中建立下列新的查詢:
    SELECT dbo_authors.au_id、 dbo_authors.au_lname、 dbo_titleauthor.title_id
    FROM dbo_authors INNER JOIN dbo_titleauthor ON dbo_authors.au_id = dbo_titleauthor.au_id
    WHERE (dbo_authors.au_lname = 響鈴"AND dbo_titleauthor.title_id = PS2106") OR dbo_authors.au_lname = 白色"
  13. 將查詢儲存為 qSel2Authors
  14. 結束 Access。
  15. 從 ODBC 資料來源] 工具,在 [控制台] 啟動追蹤。
  16. 開啟 Test.mdb,並再執行 qSel2Authors。
  17. 結束 Access。
  18. 停止追蹤] 中控制台中的 [ODBC 資料來源] 工具。
  19. 在 Microsoft Word 2000 中開啟追蹤記錄檔。
  20. 搜尋 au_id 在追蹤記錄中。

    請注意傳送的 SELECT 陳述式,並傳回的記錄。
  21. 搜尋 title_id 在追蹤記錄中。

    請注意傳送的 SELECT 陳述式,並傳回的記錄。

屬性

文章編號: 282604 - 上次校閱: 2014年2月24日 - 版次: 3.1
這篇文章中的資訊適用於:
  • Microsoft Access 2000 Service Pack 1
  • Microsoft Data Access Components 2.6
關鍵字:?
kbnosurvey kbarchive kbmt kbbug kbfix KB282604 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:282604
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