DetailPage-MSS-KB

Base de Dados de Conhecimento

Artigo: 940932 - Última revisão: sábado, 28 de Maio de 2011 - Revisão: 2.0

 

Nesta página

Sintomas

Considere o seguinte cenário. No Microsoft.NET Framework 2. 0 aplicativo, associa a aplicação a uma tabela de dados. Em seguida, remover uma coluna da tabela de dados. Em seguida, tente utilizar o código para modificar um registo nesta tabela de dados. Neste cenário, o System.data.Index.CompareRecords método gera uma System. NullReferenceException excepção.

Este problema ocorre caso se verifique uma das seguintes condições:
  • Remover uma chave primária da tabela de dados.
  • Remove uma colecção de restrição de tabela de dados.
  • O AllowDBNull propriedade de uma coluna estiver definida como "false" e remover esta coluna.
  • O Exclusivo propriedade para uma coluna é definida como "true" e remover esta coluna.

Causa

Este problema ocorre porque os índices internos referenciam à coluna que foi removida.

Resolução

Informações sobre a correcção

Agora tem uma correcção suportada disponível na Microsoft. Contudo, destina-se apenas a corrigir o problema descrito neste artigo. Aplique-a apenas em sistemas que tenham este problema específico. Esta correcção poderá ser submetida a testes adicionais. Por conseguinte, se não estiver a ser gravemente afectado por este problema, recomendamos que aguarde o próximo.NET Framework 2. 0 service pack que contenha esta correcção.

Para resolver este problema imediatamente, contacte o suporte técnico da Microsoft para obter a correcção. Para obter uma lista completa dos números de telefone do suporte técnico da Microsoft e informações sobre os custos de suporte, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/contactus/?ws=support (http://support.microsoft.com/contactus/?ws=support)
Nota Em casos especiais, os custos normalmente inerentes às chamadas de suporte poderão ser anulados se um técnico de suporte da Microsoft determinar que uma actualização específica resolverá o problema. Os custos normais do suporte serão aplicados a perguntas de suporte adicionais e problemas que não se enquadrem na atualização específica em questão.

Pré-requisitos

Tem de instalar a correcção 916002 antes de instalar esta correcção.Para mais informações, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
916002  (http://support.microsoft.com/kb/916002/ ) CORRECÇÃO: Mensagem de erro quando tenta utilizar a classe SqlClient num ADO.NET aplicação baseada em 2. 0 para ligar a uma instância do SQL Server 2005: "novo pedido não é permitido iniciar porque deve estar acompanhado de descritor de transacção válida"

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 correcções.

Informações de ficheiro

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 listadas 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 a Fuso horário no separador a Data e hora item no painel de controlo.
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Ficheiro Mscordacwks. dll2.0.50727.916802,30404-Ago-200703: 28x86
MSCORJIT.dll2.0.50727.916326,65604-Ago-200703: 28x86
Mscorlib. dll2.0.50727.9164,308,99204-Ago-200703: 28x86
Mscorpe.dll2.0.50727.916102,91204-Ago-200703: 28x86
Mscorwks.dll2.0.50727.9165,634,56004-Ago-200703: 28x86
Normalization.dll2.0.50727.91615,36004-Ago-200703: 28x86
Peverify.dll2.0.50727.916136,19204-Ago-200703: 28x86
Sos. dll2.0.50727.916382,46404-Ago-200703: 28x86
System.data.dll2.0.50727.9162,903,04004-Ago-200703: 28x86

Como contornar

Para contornar este problema, crie uma nova tabela de dados.

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

Depois de aplicar esta correcção, não é possível remover uma coluna quando um DataView.RowFilter propriedade ou um DataView.Sort propriedade faz referência a essa coluna.

Para mais informações sobre o System. NullReferenceException excepção, visite o seguinte Web site da Microsoft:
. aspx http://msdn2.microsoft.com/en-us/library/System.NullReferenceException (vs.80) (http://msdn2.microsoft.com/en-us/library/system.nullreferenceexception(vs.80).aspx)
Para mais informações sobre a terminologia de actualização de software, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
824684  (http://support.microsoft.com/kb/824684/LN/ ) Descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft

Informações da pilha de chamadas

07d0e4b8 09195ccd System.Data.Index.CompareRecords(Int32, Int32)
07d0e4d8 09195c7a System.Data.Index+IndexTree.CompareNode(Int32, Int32)
07d0e4e4 0ff93c0e System.Data.RBTree`1[[System.Int32, mscorlib]].SearchSubTree(Int32, Int32)
07d0e4fc 0ff940e8 System.Data.RBTree`1[[System.Int32, mscorlib]].GetNodeByKey(Int32)
07d0e514 0ff93ee9 System.Data.Index.RecordStateChanged(Int32, System.Data.DataViewRowState, System.Data.DataViewRowState, Int32, System.Data.DataViewRowState, System.Data.DataViewRowState)
07d0e548 09193e97 System.Data.DataTable.RecordStateChanged(Int32, System.Data.DataViewRowState, System.Data.DataViewRowState, Int32, System.Data.DataViewRowState, System.Data.DataViewRowState)
07d0e598 09191fb7 System.Data.DataTable.SetNewRecordWorker(System.Data.DataRow, Int32, System.Data.DataRowAction, Boolean, Int32, Boolean, System.Exception ByRef)
07d0e648 0ff93e29 System.Data.DataTable.SetNewRecord(System.Data.DataRow, Int32, System.Data.DataRowAction, Boolean, Boolean)
07d0e664 09191485 System.Data.DataRow.EndEdit()
07d0e690 0955c905 System.Data.DataRow.set_Item(System.Data.DataColumn, System.Object)
07d0e6cc 0ff9e55a System.Data.DataRow.set_Item(Int32, System.Object)

A informação contida neste artigo aplica-se a:
  • Microsoft .NET Framework 2.0
Palavras-chave: 
kbexpertiseadvanced kbfix kbqfe kbmt KB940932 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 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: 940932  (http://support.microsoft.com/kb/940932/en-us/ )
Partilhar
Opções de suporte adicionais
Fóruns de Suporte da Comunidade Microsoft
Contacte-nos directamente
Encontre um parceiro certificado Microsoft
Loja Microsoft