CORRECÇÃO: Recebe mensagem de erro "Método Close do objeto _RecordSet falhou" ao chamar a função SQLGetInfo com o atributo SQL_CURSOR_COMMIT_BEHAVIOR no Microsoft Data Access Components (MDAC) 2.8

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: 895485
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Sintomas
Considere o seguinte cenário.
  • Você tem um aplicativo Microsoft ActiveX Data Objects (ADO) com base.
  • Use o provedor Microsoft OLE DB para ODBC.
  • O provedor OLE DB para ODBC retorna SQL_CB_DELETE quando você chamar a função SQLGetInfo com um atributo SQL_CURSOR_COMMIT_BEHAVIOR.
Quando isso ocorre, você recebe uma mensagem de erro semelhante à seguinte:
Método 'Fechar' do objeto '_RecordSet' falhou.
Resolução
Um hotfix suportado está disponível no Microsoft. No entanto, esse hotfix destina-se a corrigir o problema descrito neste artigo. Aplique-o somente aos sistemas que apresentarem esse problema específico.

Se o hotfix está disponível para download, há uma seção "Download de Hotfix disponível" na parte superior neste artigo da Base de dados de Conhecimento. Se esta seção não for exibido, envie uma solicitação para suporte e atendimento ao cliente Microsoft para obter o hotfix.

Observação Se ocorrerem problemas adicionais ou se qualquer solução de problemas é necessária, talvez você precise criar uma solicitação de serviço separada. Os custos normais de suporte serão aplicados a questões de suporte adicionais e problemas que não se qualificam para esse hotfix específico. Para obter uma lista completa de números de telefone de suporte e Atendimento Microsoft ou para criar uma solicitação de serviço separada, visite o seguinte site: Observação O formulário "Download de Hotfix disponível" exibe os idiomas para os quais o hotfix está disponível. Se você não vir seu idioma, é porque um hotfix não está disponível para esse idioma.

Pré-requisitos

Nenhum

Requisitos de reinicialização

Reinicie o computador após aplicar esse hotfix.

Informações sobre a substituição do hotfix

Esse hotfix não substitui outras atualizações de software.

A versão em inglês deste hotfix tem atributos de arquivo (ou atributos de arquivo posteriores) listados na tabela a seguir. As datas e horas desses arquivos estão listadas no horário de universal coordenado (UTC). Quando você exibe as informações do arquivo, ele é convertido para a hora local. Para encontrar a diferença entre o UTC e a hora local, use a guia fuso horário na ferramenta Data e hora no painel de controle.
   Date         Time   Version         Size     File name   ---------------------------------------------------------   25-Mar-2005  16:16  2000.85.1060.0   73,728  Dbnetlib.dll        25-Mar-2005  16:17  2000.85.1060.0   28,672  Dbnmpntw.dll        25-Mar-2005  16:16  2.80.1060.0     315,392  Msadce.dll          25-Mar-2005  16:16  2.80.1060.0     135,168  Msadco.dll          25-Mar-2005  16:16  2.80.1060.0      49,152  Msadcs.dll          25-Mar-2005  16:16  2.80.1060.0     147,456  Msadds.dll          25-Mar-2005  16:16  2.80.1060.0     507,904  Msado15.dll         25-Mar-2005  16:17  2.80.1060.0     163,840  Msadomd.dll         25-Mar-2005  16:17  2.80.1060.0     184,320  Msadox.dll          25-Mar-2005  16:16  2.80.1060.0      53,248  Msadrh15.dll        25-Mar-2005  16:17  2.80.1060.0     225,280  Msdaora.dll         25-Mar-2005  16:16  2.80.1060.0     192,512  Msdaprst.dll        25-Mar-2005  16:16  2.80.1060.0     147,456  Msdart.dll          25-Mar-2005  16:16  2.80.1060.0     303,104  Msdasql.dll         25-Mar-2005  16:17  2.575.1060.0    139,264  Msorcl32.dll        25-Mar-2005  16:16  3.525.1060.0    221,184  Odbc32.dll          25-Mar-2005  16:17  2000.85.1060.0   24,576  Odbcbcp.dll         25-Mar-2005  16:16  2.80.1060.0     442,368  Oledb32.dll         25-Mar-2005  16:16  2000.85.1060.0  503,808  Sqloledb.dll        25-Mar-2005  16:16  2000.85.1060.0  401,408  Sqlsrv32.dll        25-Mar-2005  03:16  2000.85.1060.0  208,896  Sqlxmlx.dll
Situação
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".
Mais Informações

Etapas para reproduzir o problema

  1. Certifique-se de que você instalar um driver ODBC que suporta o valor de retorno SQL_CB_DELETE no computador de teste.
  2. Criar um nome de fonte de dados (DSN) chamado DSNName no computador.
  3. Use o seguinte código para produzir a mensagem de erro mencionada na seção "Sintomas":
    Dim conn As ADODB.ConnectionSet conn = New ADODB.Connectionconn.Open "DSN=DSNName"sql = "select * from TableName"Set rs = New ADODB.Recordsetconn.BeginTransrs.Open sql, connrs.MoveFirstconn.CommitTransrs.Close '<---- The error occurs here.conn.CloseSet rs = NothingSet conn = Nothing
Para obter mais informações, clique nos números abaixo para ler os artigos na Base de dados de Conhecimento da Microsoft:
839801CORRECÇÃO: Hotfixes estão disponíveis para o MDAC 2.8
824684Descrição da terminologia padrão que é usada para descrever as atualizações de software

Propriedades

ID do Artigo: 895485 - Última Revisão: 01/17/2015 10:15:37 - Revisão: 1.5

Microsoft Data Access Components 2.8

  • kbnosurvey kbarchive kbmt kbautohotfix kbfix kbbug kbhotfixserver kbqfe KB895485 KbMtpt
Comentários
ERROR: at System.Diagnostics.Process.Kill() at Microsoft.Support.SEOInfrastructureService.PhantomJS.PhantomJSRunner.WaitForExit(Process process, Int32 waitTime, StringBuilder dataBuilder, Boolean isTotalProcessTimeout)