CORRECÇÃO: Erro de "Nome de objeto inválido" ao atualização pelo procedimento armazenado no banco de dados diferente

Traduções deste artigo Traduções deste artigo
ID do artigo: 238750 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

O seguinte erro é retornado, onde nome do objeto é o nome da tabela que você está tentando atualizar:
Objeto inválido nome nome do objeto
Essa mensagem de erro ocorre nas seguintes condições:
  • Existe um procedimento armazenado do SQL Server em um banco de dados que seleciona registros de uma tabela em um banco de dados diferente.
  • O conjunto de registros resultante é retornado para um aplicativo ou serviço.
  • Esse conjunto de registros é então passado fora de processo como um conjunto de registros ADO (ActiveX Data Objects) desconectado para outro aplicativo de cliente.
  • É feita uma tentativa para atualizar o conjunto de registros desconectado.
Se o conjunto de registros nunca é empacotado fora do processo, mas entregues diretamente para o processo que está tentando para atualizá-lo em vez disso, a instrução UPDATE terá êxito.

Causa

A parte remota do ADO (Msdaprst.dll) é inadvertidamente substituir partes dos metadados contidos no conjunto de registros. Ao construir a instrução UPDATE posteriormente, esses metadados não estão disponível e sintaxe incorreta é gerado.

Exame de rastreamento registra mostram que a sintaxe correta database.owner.tablename foi usada ao selecionar os registros, mas somente o nome da tabela foi usado ao construir a instrução UPDATE .

Como a conexão atualmente aponta para o banco de dados que contém o procedimento armazenado e a tabela não existe no banco de dados, erros "Nome de objeto inválido" são retornados.

Resolução

Uma correção suportada está agora disponível da Microsoft, mas destina-se somente a corrigir o problema descrito neste artigo. Aplique-o somente aos computadores que apresentarem esse problema específico. Pode ser nessa correção testes adicionais. Portanto, se você não tiver sido gravemente afetado por esse problema, a Microsoft recomenda que você aguarde o próximo service pack do Microsoft Data Access que contém esse hotfix.

Para resolver esse problema imediatamente, contate o Atendimento Microsoft para obter a correção. Para obter uma lista completa dos números de telefone do Atendimento Microsoft do e informações sobre os custos de suporte, visite o seguinte site:
http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS
Observação : em alguns casos, as taxas cobradas pelas ligações para chamadas de suporte podem ser canceladas se um profissional de suporte da Microsoft determinar que uma atualização específica resolverá o problema. Os custos de suporte normais serão aplicados a questões e problemas que não se qualificam à atualização específica em questão de suporte adicionais.

A versão em inglês dessa correção deve ter os seguintes atributos de arquivo ou posteriores:
   Date              Version      Size    File name      
   -----------------------------------------------------
   7/22/99           2.10.4321    203KB   msdaprst.dll


				

Situação

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

Esse problema foi corrigido no MDAC 2.5.

Para obter a última versão do Microsoft Data Access Components (MDAC), consulte o seguinte site:
http://msdn.microsoft.com/en-us/data/aa937729.aspx

Mais Informações




IMPORTANTE!

Não é recomendável que você instale esse hotfix em um computador que está executando o MDAC 2.1 SP2 (versão 2.12.4202) ou posterior. Esse hotfix deve ser usado somente com computadores que executam o MDAC 2.1 SP1 (versão 2.10.3711) ou anterior.

Para aliviar problemas de fragmentação de memória, foram feitas alterações código significativa entre o MDAC 2.1 SP1 e MDAC 2.1 SP2. Enquanto ele não é esperado que erros fatais ocorrerem se esse hotfix é aplicado para MDAC 2.1 SP2, fazer isso é altamente desencorajado.

Existe um hotfix separado para resolver esse problema no MDAC 2.1 SP2.

Consulte a seção Referências deste artigo para obter mais informações.

Instalação manual

  1. Fechar ou parar qualquer aplicativos ou serviços que estão usando Msdaprst.dll. Isso pode incluir Internet Information Server (IIS), Microsoft Transaction Server (MTS), coordenador de transações distribuídas (DTC) da Microsoft e os aplicativos do ADO ou OLE.
  2. Baixe a versão de hotfix do Msdaprst.dll em uma pasta temporária.
  3. Localize e renomeie a versão atual do Msdaprst.dll, que deve estar na pasta \Program Files\Common files\System\msadc.
  4. Copie a versão de hotfix do Msdaprst.dll para o mesmo local e reinicie os serviços e aplicativos.


Aviso importante para usuários do Microsoft Windows 95/98

Se você estiver instalando esta correção em um computador executando o Windows 95 ou um computador com o lançamento original do Windows 98, talvez seja necessário instalar a DLL de migração do Windows 98, incluído com essa correção.

Observação : ler o arquivo Migrate_qfe.txt que está incluído no arquivo Migration.exe incluído com o download.


REFERÊNCIAS


Para obter informações sobre esse hotfix como ele se aplica ao MDAC 2.1 SP2, consulte o seguinte artigo encontrado na Base de dados de Conhecimento da Microsoft:
238092Erros de nome de objeto inválido quando a atualização por procedimento armazenado no banco de dados diferente


Para obter mais informações sobre o problema de fragmentação de memória mencionado acima, consulte o seguinte artigo encontrado na Base de dados de Conhecimento da Microsoft::
230101Consultas de dados retornam esporadicamente Recordsets vazio

Propriedades

ID do artigo: 238750 - Última revisão: sexta-feira, 7 de outubro de 2005 - Revisão: 3.7
A informação contida neste artigo aplica-se a:
  • Microsoft Data Access Components 2.1 Service Pack 1
  • Microsoft Data Access Components 2.1 Service Pack 2
Palavras-chave: 
kbmt kbhotfixserver kbqfe kbado210sp2fix kbbug kbfix kbmdac250fix kbqfe KB238750 KbMtpt
Traduçã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: 238750

Submeter comentários

 

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