CORRECÇÃO: Conjunto de registos ADO perde a propriedades de filtro quando organizado em Proc.

Traduções de Artigos Traduções de Artigos
Artigo: 264442 - Ver produtos para os quais este artigo se aplica.
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
Expandir tudo | Reduzir tudo

Sintomas

Quando passar um desligada do ADO conjunto de registos entre dois objectos COM na aplicação do COM + mesmo, determinadas propriedades expandidas do conjunto de registos como a propriedade filtro são perdidas. Numa configuração semelhante num pacote do Microsoft Transaction Server (MTS) no Microsoft Windows NT 4.0, as propriedades expandidas não são perdidas.

Causa

+ Agora executa em processo marshalling quando passar um conjunto de registos do ADO entre dois objectos COM. Quando executar marshalling dentro do processo, ADO cria o equivalente a um clone do conjunto de registos , em vez de marshalling de ADO existente conjunto de registos de ponteiro interface. Isto provoca uma perda de propriedades alargadas como, por exemplo, a propriedade filtro . A perda de propriedades expandidas mesma ocorre quando cria um clone de um conjunto de registos do ADO ou quando passar um desligada Recordset do ADO out-of-process, mas estes casos específicos são por predefinição.

Resolução

Este problema foi corrigido no service packs mais recentes para o Windows 2000 e MDAC 2.5.
  • Para resolver este problema, obtenha o service pack mais recente do Windows 2000. Para obter informações adicionais, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
    260910Como obter o Service Pack mais recente do Windows 2000
  • Para resolver este problema, obtenha o service pack mais recente do Microsoft Data Access Components 2.5. Para obter informações adicionais, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
    293312INFO: Como obter o mais recente MDAC 2.5 Service Pack
A versão inglesa desta correcção deverá ter os seguintes atributos de ficheiro ou posteriores:
   Date         Time    Version       Size      File name    Platform
   ------------------------------------------------------------------
   05/23/2000   22:22   2.51.5629.0   327,952   Msadce.dll   x86 
   05/23/2000   22:19   2.51.5629.0   487,696   Msado15.dll  x86 
				

Ponto Da Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados no início deste artigo. Este problema foi primeiro corrigido no Microsoft Data Access Components (MDAC) versão 2.5 Service Pack 2, versão 2.6 do MDAC e Microsoft Windows 2000 Service Pack 2.

Mais Informação

No COM +, quando um objecto como um conjunto de registos do ADO é transmitido entre dois objectos COM a mesma aplicação do COM +, o objecto é organizado em processo vez apenas transmitido como um apontador de interface sem marshalling. Isto ocorre no COM + mesmo que os objectos COM emissor e destinatário da chamada estejam no mesmo processo, thread e COM apartment. Quando + tentativas organizar um objecto entre dois objectos COM, consulta para uma interface IMarshal do objecto passado. Se o objecto transmitido devolve uma interface IMarshal , COM + utiliza esta interface para organizar o objecto-processo chamando IMarshal::MarshalInterface utilizando o sinalizador MSHCTX_INPROC.

Antes para aplicar esta correcção, um desligada do ADO conjunto de registos implementa dentro do processo marshalling criando o equivalente a um clone do conjunto de registos , que não copia todo o conjunto de registos expandidos propriedades, tais como filtro . Assim, se passar um conjunto de registos do ADO entre dois objectos COM no COM +, as propriedades alargadas como filtro serão perdidas.

Depois de aplicar a correcção, o ADO efectua marshalling dentro do processo utilizando o livre com o empacotador de referências (FTM), que é equivalente a passar um apontador de interface para o objecto original do autor da chamada para o destinatário da chamada. Utilizar o FTM, ADO pode eficientemente organizar um conjunto de registos do ADO dentro de COM + e manter todas as propriedades expandidas.

Tenha em atenção que se passar um ligados do ADO conjunto de registos que tenha o conjunto de propriedades CursorLocation para adUseServer , este conjunto de registos não perder propriedades expandidas se forem transmitidos entre dois objectos COM num aplicativo COM +.

Propriedades

Artigo: 264442 - Última revisão: 24 de janeiro de 2014 - Revisão: 2.0
A informação contida neste artigo aplica-se a:
  • Microsoft ActiveX Data Objects 2.5
Palavras-chave: 
kbnosurvey kbarchive kbmt kbqfe kbhotfixserver kbado260fix kbbug kbfix kbmdac250sp2fix KB264442 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: 264442

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