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

Traduções de Artigos Traduções de Artigos
Artigo: 895485 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Considere o seguinte cenário.
  • Tem uma aplicação Microsoft ActiveX Data Objects (ADO) com base.
  • Pode utilizar o fornecedor de Microsoft OLE DB para ODBC.
  • O fornecedor de OLE DB para ODBC devolve SQL_CB_DELETE quando chamar a função de SQLGetInfo com um atributo SQL_CURSOR_COMMIT_BEHAVIOR.
Quando isto ocorre, recebe uma mensagem de erro semelhante à seguinte:
O método 'Fechar' do objecto '_RecordSet' falhou.

Resolução

Está disponível a partir da Microsoft uma correcção suportada. No entanto, esta correcção destina-se a corrigir o problema descrito neste artigo. Aplique esta correcção apenas em sistemas que tenham este problema específico.

Se a correcção está disponível para transferência, existe uma secção "denominada transferência de correcção disponível" na parte superior deste artigo da base de dados de conhecimento. Se esta secção não for apresentada, submeta um pedido para o serviço de cliente do Microsoft e suporte para obter a correcção.

Nota Se ocorram problemas adicionais ou se for necessária qualquer resolução de problemas, poderá ter de criar um pedido de assistência separado. Os custos normais do suporte serão aplicados a problemas adicionais e questões de suporte que não se enquadrem esta correcção específica. Para obter uma lista completa dos números de telefone do suporte de cliente do Microsoft ou para criar um pedido serviço separado, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/contactus/?ws=support
Nota O formulário "Transferência de correcção disponível" apresenta os idiomas para a qual a correcção está disponível. Se não vir o idioma, é porque uma correcção não está disponível para esse idioma.

Pré-requisitos

Nenhum

Requisito de reinício

Tem de reiniciar o computador depois de aplicar esta correcção.

Informações sobre substituição de correcções

Esta correcção não substitui quaisquer outras actualizações de software.

A versão inglesa desta correcção tem os atributos de ficheiro (ou atributos de ficheiro posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são indicadas na hora universal coordenada (UTC). Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local, utilize o separador fuso horário na ferramenta Data e hora no painel de controlo.
   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

Ponto Da Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".

Mais Informação

Passos para reproduzir o problema

  1. Certifique-se de que instala um controlador ODBC que suporta o valor devolvido SQL_CB_DELETE no computador de teste.
  2. Crie um nome de origem de dados (DSN) denominado DSNName no computador.
  3. Utilize o seguinte código para produzir a mensagem de erro mencionada na secção "Sintomas":
    Dim conn As ADODB.Connection
    Set conn = New ADODB.Connection
    conn.Open "DSN=DSNName"
    sql = "select * from TableName"
    Set rs = New ADODB.Recordset
    conn.BeginTrans
    rs.Open sql, conn
    rs.MoveFirst
    conn.CommitTrans
    rs.Close '<---- The error occurs here.
    conn.Close
    Set rs = Nothing
    Set conn = Nothing
    
Para obter mais informações, clique números de artigo que se seguem para visualizar os artigos na base de dados de conhecimento da Microsoft:
839801CORRECÇÃO: Correcções disponíveis para o MDAC 2.8
824684Descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft

Propriedades

Artigo: 895485 - Última revisão: 15 de novembro de 2007 - Revisão: 1.5
A informação contida neste artigo aplica-se a:
  • Microsoft Data Access Components 2.8
Palavras-chave: 
kbmt kbautohotfix kbfix kbbug kbhotfixserver kbqfe KB895485 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 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: 895485

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