CORRECÇÃO: FOR XML EXPLICIT: atributo de conflito em xmltext Não É substituído se xmltext contém DBCS

Traduções deste artigo Traduções deste artigo
ID do artigo: 290083 - Exibir os produtos aos quais esse artigo se aplica.
BUG #: 236233 (SHILOH_BUGS)
Expandir tudo | Recolher tudo

Sintomas

Em um modo XML EXPLICIT, sob determinadas condições, com a xmltext elemento definido o conjunto de caracteres como dois bytes (DBCS), uma consulta não pode substituir o atributo de conflito e pode produzir XML que não está bem formado.

Resolução

Para resolver esse problema, obtenha o service pack mais recente para o SQL Server 2000. Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
290211INF: Como obter o Service Pack mais recente do SQL Server 2000

Situação

A Microsoft confirmou que este é um problema no SQL Server 2000. Esse problema foi corrigido primeiro no SQL Server 2000 Service Pack 1.

Mais Informações

Em um modo XML EXPLICIT, em condições normais, se um atributo que aparece no elemento de xmltext está em conflito com um atributo que é recuperada no mesmo nível de elemento, o atributo xmltext é ignorado e substituído. Sob determinadas condições com DBCS, no entanto, o conflito de atributo não é substituído, mas é duplicado em vez disso. Isso produz o XML que não está bem formado.

Para reproduzir esse comportamento, criar uma tabela, inserir uma linha e consultar a tabela da seguinte maneira:
create table T1 (F0 int primary key, F1 TEXT collate Japanese_CI_AS)
go
insert into T1 values (111, '<elt1 att0="222" att1="?"><elt2 att2="?" /></elt1>')
go
select 1 as TAG, 0 as parent, F1 as [elt1!1!!xmltext], F0 as [elt1!1!att0] from T1 for xml explicit
				
a seguir é retornada
-- [INCORRECT RESULT] - att0 is not overwritten.

XML_F52E2B61-18A1-11d1-B105-00805F49916B                                                                                                                                                                                                                         
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 
<elt1 att0="111" att0="222" att1="?"><elt2 att2="?" /></elt1>

				
quando o resultado esperado deve ser da seguinte maneira:
-- [EXPECTED  RESULT] - att0="222" is overwritten with att0="111"

XML_F52E2B61-18A1-11d1-B105-00805F49916B                                                                                                                                                                                                                         
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 
 <elt1 att0="111" att1="?"><elt2 att2="?" /></elt1>
				

Propriedades

ID do artigo: 290083 - Última revisão: quinta-feira, 6 de novembro de 2003 - Revisão: 3.2
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2000 Standard Edition
Palavras-chave: 
kbmt kbbug kbfix kbsqlserv2000sp1fix KB290083 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 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: 290083

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