文章編號: 225042 - 上次校閱: 2003年10月23日 - 版次: 2.1

注意: 錯誤訊息: 錯誤 80004005' 未預期的錯誤

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。

在此頁中

全部展開 | 全部摺疊

徵狀

在您的 MDAC 程式碼中,您必須記錄多個集與相同的資料錄集物件建立關閉的相同的命令,也指向相同的連線。開啟第一個資料錄集包含多個資料錄集內該相同的物件。該物件上呼叫 NextRecordset 前, 請先開啟另一個資料錄集 (新的資料錄集物件),然後指向相同的命令和連接物件指要在其他資料錄集的 ActiveConnection 屬性]。 這會導致下列的錯誤時 集 rs = rs.NextRecordset 執行:
錯誤 80004005' 未指定的錯誤
MDAC 2.0 和 MDAC 2.1 中就會發生這個錯誤。它不會發生在 MDAC 1.5。

解決方案

請確定 [ActiveConnection 物件屬性的 命令 的第一個資料錄集設定只有一次整個頁面 (特別是當它包含多個實體的資料錄集相同的資料錄集物件內) 如果正在使用相同的連線。

狀況說明

Microsoft 已確認這是在本文開頭所列之 Microsoft 產品中的有錯誤。

這個 Bug 已經在 MDAC 2.5 中獲得修正。

其他相關資訊

重製行為的步驟

  1. 在 Visual InterDev 中開啟新的動態伺服器網頁 (ASP) 頁面,並貼上下列程式碼到頁面:
    <%@ Language=VBScript %>
    <%
            Set cn = Server.CreateObject("ADODB.Connection")
    	cn.Open "pubs","sa",""
    	Set cmd = Server.CreateObject("ADODB.Command")
    	Set rs = Server.CreateObject("ADODB.Recordset")	
    	cmd.CommandText = "Select * From Authors Select * From Stores Select * From Sales"
    	cmd.CommandType = 1
    	Set cmd.ActiveConnection = cn
            rs.Open cmd
    	Response.Write(rs(0) & "<BR>")
    	
    	GetDBValues	
    
            Response.Write(rs(0) & "<BR>")
            Response.Write(rs(1) & "<BR>")
        
            Set rs = rs.NextRecordset 'Fails on this line
       
            Response.Write("New Recordset after NextRecordset Call" & "<BR>")
            Response.Write(rs(0) & "<BR>")
            Response.Write(rs(1) & "<BR>")
    	
      Sub GetDBValues
    	
    	Set rst = Server.CreateObject("ADODB.Recordset")
    	cmd.CommandText = "Select * from stores" 
    	cmd.CommandType = 1
    	Set cmd.ActiveConnection = cn
    
    	rst.Open cmd
    	Response.Write("Opened new recordset" & "<BR>")
      End Sub		
      %> 
    
    					
  2. 建立資料來源名稱 (DSN) 稱為 「 pubs 」 指向 pubs 資料庫,SQL Server 上。
  3. 執行網頁,並會出現下列錯誤:
    未 '80004005'"指定的錯誤 」

這篇文章中的資訊適用於:
  • Microsoft Data Access Components 2.0
  • Microsoft Data Access Components 2.1
關鍵字:?
kbmt kbbug kbmdac250fix KB225042 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:225042? (http://support.microsoft.com/kb/225042/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。