Artigo: 225042 - Última revisão: quinta-feira, 23 de Outubro de 2003 - Revisão: 2.1

Erro: Mensagem de erro: Error '80004005' erro inesperado

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.

Nesta página

Expandir tudo | Reduzir tudo

Sintomas

No código do MDAC, terá de conjuntos de vários registos com o mesmo objecto de conjunto de registos que sejam criados fora do mesmo comando e estão também a apontar para a mesma ligação. O primeiro conjunto de registos é aberto contém vários conjuntos de registos nesse mesmo objecto. Antes de chamar NextRecordset nesse objecto, abrir outro conjunto de registos (novo objecto de conjunto de registos) e aponte a propriedade ActiveConnection para os mesmos comandos e ligação à qual no outro conjunto de registos foi apontando objecto. Isto provoca o erro seguinte quando o Set rs = rs.NextRecordset é executada:
erro '80004005' erro não especificado
Este erro ocorre no MDAC 2.0 e 2.1 do MDAC. Não ocorre no MDAC 1.5.

Resolução

Certifique-se que a propriedade LigaçãoActiva (ActiveConnection) do objecto comandos para que o primeiro conjunto de registos está definida apenas uma vez ao longo da página (especialmente se tiver vários conjuntos de registos físicos no mesmo objecto de conjunto de registos) se ainda está a ser utilizada a mesma ligação.

Ponto Da Situação

A Microsoft confirmou que este erro ocorre nos produtos da Microsoft listados no início deste artigo.

Este erro foi corrigido no MDAC 2.5.

Mais Informação

Passos para reproduzir o comportamento

  1. Abra uma nova página de ASP (Active Server Pages) no Visual InterDev e cole o seguinte código para a página:
    <%@ 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. Criar um dados nome de origem (DSN) chamado "pubs" que aponta para a base de dados pubs no SQL Server.
  3. Execute a página e aparece o seguinte erro:
    "80004005'"Erro não especificado"

A informação contida neste artigo aplica-se a:
  • Microsoft Data Access Components 2.0
  • Microsoft Data Access Components 2.1
Palavras-chave: 
kbmt kbbug kbmdac250fix KB225042 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 225042  (http://support.microsoft.com/kb/225042/en-us/ )