在.NET Framework 應用程式中使用 ADO 和 ADO MD 時,您會收到未預期的錯誤

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

徵狀

在 Microsoft.NET Framework 應用程式中,您可以使用 Microsoft ActiveX 資料物件 (ADO) 和 COM Interop 透過 Microsoft ActiveX 資料物件 (ADO MD) 多維。有時候,在壓力下, 使用這些技術的.NET Framework 應用程式遭遇未預期的錯誤,如系統當機和其他間歇性的例外狀況。這是特別常見與多執行緒應用程式 (例如那些在 Microsoft ASP.NET 中執行。

發生的原因

ADO 和 ADO MD.NET] Framework 發行之前所設計,並已適合在未受管理的元件物件模型 (COM) 環境中使用。雖然您可以存取這些技術透過 COM Interop,我們不建議您這樣。這包括組 ADO 主要 Interop 件隨附於 Microsoft Visual Studio.NET 使用。

因為它們不是要使用此方式,ADO 和 ADO MD 經過不經常測試 Interop 案例中。

解決方案

我們建議您使用 Microsoft ADO.NET 或 Microsoft ADOMD.NET 而非透過 Interop 使用傳統的 ADO 或 ADO MD。這些技術所開發特別來提供.NET Framework 應用程式中的資料存取,而且不需要的 COM Interop 增加的複雜性。

狀況說明

將不會有任何未來的修正程式或修正只在 Managed 的.NET Framework 應用程式中發生的問題,這些元件的增強功能。通常,這不會影響未來的修正程式或 ADO 和 ADO MD.的增強功能我們將繼續從使用 ADO 和 ADO MD 包括 Microsoft Visual Basic 6.0 中,Microsoft Visual C++ 和 Microsoft ASP 的 Unmanaged 應用中發生的解決問題。

其他可行方案

如果要暫時略過這個問題在 Microsoft ASP.NET,將 @ Page 指示詞 ASPCompat 屬性設定為 true 為。當這個屬性設為 true 時,可以在單一執行緒公寓 (STA) 執行緒上執行頁面。STA 執行緒上執行網頁減少非預期的多執行緒存取的機會,ADO 物件或 ADO MD 物件。

附註只使用此暫時解決這個問題雖然程式碼會被移轉,ADO.NET 或 ADOMD.NET。

使用傳統的 ADO.NET 架構應用程式必須 ADO 隨附於 Visual Studio.NET 針對使用主要 Interop 組件。這項因應措施可能會減少一些問題。然而,它可能無法防止所有的問題。不要使用這項因應措施作為長期的解決方案。

?考

ADO.NET 提供的是 Microsoft.NET Framework 的一部份。如需有關.NET Framework 的詳細資訊,請造訪下列 Microsoft 開發 o 人 h 員 ? 工 u 具 ? 網路 (MSDN) 網站]:
http://msdn2.microsoft.com/en-us/netframework/default.aspx
下列檔案是可以從 Microsoft 下載中心 」 下載:
摺疊此圖像展開此圖像
Download
Download the ADOMD.NET package now.如需有關如何下載 Microsoft 支援檔案的詳細資訊,按一下 [下列面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
119591如何從線上服務取得 Microsoft 支援檔案
Microsoft 已掃描這個檔案有無病毒。Microsoft 使用已張貼檔案的日期中的 [可用的最新病毒偵測軟體。檔案儲存在安全性強化的伺服器上,以避免任何未經授權的更改至檔案。

屬性

文章編號: 840667 - 上次校閱: 2006年12月27日 - 版次: 1.4
這篇文章中的資訊適用於:
  • Microsoft ActiveX Data Objects 2.7
  • Microsoft SQL Server 2000 Analysis Services
關鍵字:?
kbmt kbtshoot kbprb kbinfo KB840667 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:840667
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。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