ID do artigo: 225042 - Última revisão: quinta-feira, 23 de outubro de 2003 - Revisão: 2.1

Erro: Mensagem de erro: erro '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 | Recolher tudo

Sintomas

Em seu código MDAC, você tem de conjuntos de vários registros com o mesmo objeto de conjunto de registros que são criadas fora do mesmo comando e também estão apontando para a mesma conexão. O primeiro conjunto de registros que é aberto contém vários conjuntos de registros dentro desse mesmo objeto. Antes de chamar NextRecordset nesse objeto, abra outro Recordset (novo objeto de conjunto de registros) e aponte a propriedade ActiveConnection para o mesmo comando e para o qual em outro conjunto de registros foi apontando o objeto de conexão. Isso faz com que o seguinte erro quando o Definir rs = rs.NextRecordset é executado:
Erro '80004005' erro não especificado
Este erro ocorre no MDAC 2.0 e no MDAC 2.1. Ele não ocorre no MDAC 1.5.

Resolução

Verifique se a propriedade ActiveConnection do objeto de comando para o primeiro conjunto de registros é definida apenas uma vez em toda a página (especialmente se ele contém vários conjuntos de registros físicos dentro do mesmo objeto de conjunto de registros) se a mesma conexão ainda está sendo usada.

Situação

A Microsoft confirmou que esse é um problema nos produtos da Microsoft listados no começo deste artigo.

Esse bug foi corrigido no MDAC 2.5.

Mais Informações

Etapas para reproduzir o problema

  1. Abra uma nova página Active Server Pages (ASP) 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. Crie um dados nome de fonte (DSN) chamado "pubs" que aponta para o banco de dados pubs no SQL Server.
  3. Executar a página e o seguinte erro é exibida:
    "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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes 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/ )