CORRECÇÃO: Incorrectos dados são escritos no ficheiro XML quando utiliza o método OracleDataReader.GetBytes para ler uma coluna não processada no .NET Framework 2.0

Traduções de Artigos Traduções de Artigos
Artigo: 934058 - Ver produtos para os quais este artigo se aplica.
Erro: # 50000940 (correcção SQL)
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Considere o seguinte cenário. Desenvolver uma aplicação baseada no .NET Framework 2.0 no Microsoft utilizando o Microsoft Visual Studio 2005. Na aplicação, utilize o fornecedor de dados Oracle .NET para ligar a uma base de dados Oracle 9i ou uma base de dados de 10 g Oracle. Na base de dados, existe uma tabela que armazena um ficheiro XML de uma coluna longa raw. O tamanho do ficheiro XML é maior do que 8 KB. Utilizar o método OracleDataReader.GetBytes para ler a coluna longo não processada para um ficheiro XML. Neste cenário, dados incorrectos são escritos para o ficheiro. Por conseguinte, algumas partes do ficheiro XML não podem ser analisadas.

Causa

O ficheiro XML é armazenado em blocos. Um segmento é uma página que tem um tamanho de 8 KB. Quando o método lê os dados, o objecto OracleDataReader irá ler os dados longo raw em blocos. Se o tamanho dos dados for maior do que 8 KB, o objecto tem de ler mais do que uma secção. Uma vez que cada secção tem 8 bytes de informações de cabeçalho no início, o objecto devolve incorrectamente as informações do cabeçalho como dados não processados.

Resolução

Informações sobre a correcção

Uma correcção suportada está agora disponível da Microsoft. Contudo, destina-se a corrigir o problema descrito neste artigo. Aplique-a apenas em sistemas que tenham este problema específico. Esta correcção poderá submetida a testes adicionais. Por conseguinte, se não estiver a ser gravemente afectado por este problema, recomendamos que aguarde pelo próximo service pack do Microsoft .NET Framework 2.0 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 de 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
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 problemas adicionais e questões de suporte que não se enquadrem na atualização específica em questão.

Pré-requisitos

Tem de ter o .NET Framework 2.0 instalado para aplicar esta correcção.

Informações sobre reinício

Terá de reiniciar o computador depois de aplicar esta correcção.

Informações de registo

Não é necessário alterar o registo.

Informações sobre ficheiros da correcção

Esta correcção contém apenas os ficheiros necessários para corrigir os problemas referidos neste artigo. Esta correcção não pode conter de todos os ficheiros que necessita para actualizar completamente um produto para a compilação mais recente.
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 no item data e hora no painel de controlo.
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Mscordacwks.dll2.0.50727.827802,30403-07: 54x 86
Mscorjit.dll2.0.50727.827326,65603-07: 54x 86
Mscorlib.dll2.0.50727.8274,308,99203-07: 54x 86
Mscorpe.dll2.0.50727.827102,91203-07: 54x 86
Mscorwks.dll2.0.50727.8275,634,04803-07: 54x 86
Normalization.dll2.0.50727.82715,36003-07: 54x 86
Normidna.nlpNão aplicável59,34203-07: 54Não aplicável
Normnfc.nlpNão aplicável45,79403-07: 54Não aplicável
Normnfd.nlpNão aplicável39,28403-07: 54Não aplicável
Normnfkc.nlpNão aplicável66,38403-07: 54Não aplicável
Normnfkd.nlpNão aplicável60,29403-07: 54Não aplicável
Peverify.dll2.0.50727.827136,19203-07: 54x 86
Sos.dll2.0.50727.827382,46403-07: 54x 86
System.data.dll2.0.50727.8272,902,01603-07: 54x 86
System.data.OracleClient.dll2.0.50727.827482,30403-07: 54x 86

Como contornar

Para contornar este problema, utilize o método OracleDataReader.GetOracleBinary em vez do método OracleDataReader.GetBytes para ler a coluna longo não processada.

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

Para obter mais informações sobre a terminologia de actualização de software, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
824684Descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft

Propriedades

Artigo: 934058 - Última revisão: 3 de dezembro de 2007 - Revisão: 1.1
A informação contida neste artigo aplica-se a:
  • Microsoft .NET Framework 2.0
Palavras-chave: 
kbmt kbexpertiseadvanced kbfix kbsql2005connect kbhotfixserver kbqfe kbpubtypekc KB934058 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: 934058

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