ID do artigo: 239530 - Última revisão: quinta-feira, 22 de fevereiro de 2007 - Revisão: 6.3 Você deve preceder todas as cadeias de caracteres Unicode com um prefixo N ao lidar com constantes de seqüência de caracteres Unicode no SQL Server
SumárioAo lidar com constantes de seqüência de caracteres Unicode no SQL Server deve preceder todas as cadeias de caracteres Unicode com uma letra maiúscula N, conforme documentado no tópico "Usando Unicode dados" nos manuais online do SQL Server. O prefixo "N" significa idioma nacional no padrão SQL-92 e deve ser maiúsculas. Se você não prefixar uma constante de seqüência de caracteres Unicode com N, SQL Server irá convertê-lo na página de código não-Unicode do banco de dados atual antes de usar a seqüência de caracteres. Mais InformaçõesEsta notação é necessária para fornecer compatibilidade com aplicativos existentes. Por exemplo, "SELECT 'Hello'" deve continuar retornar uma seqüência de caracteres não-Unicode, porque muitos aplicativos esperam o comportamento do SQL Server 6.5, não oferece suporte a dados Unicode; a nova sintaxe "SELECT N'Hello '" foi adicionada ao permitir a passagem de cadeias de caracteres Unicode para e do SQL Server 7.0. Sempre que você passar dados Unicode para SQL Server, você deve prefixar o Unicode seqüência com N. Se seu aplicativo for habilitado para Unicode e envia dados para SQL Server 7.0 como constantes de seqüência de caracteres Unicode sem o prefixo N, você pode encontrar uma perda de dados de caracteres. Quando o SQL Server converte uma seqüência Unicode sem o N prefixo de Unicode para página de código do banco de dados do SQL Server, quaisquer caracteres na seqüência de caracteres Unicode que não existem na página de código SQL Server serão perdidas. Observe que essa conversão não está relacionada à conversão Autotranslation, OemToAnsi ou AutoAnsiToOem, que ocorrem no cliente na camada de ODBC, OLE DB ou biblioteca de banco de dados. Se seu aplicativo não enviar dados Unicode ao SQL Server e ANSI do cliente página de código corresponde a página de código do SQL Server, não é necessário para prefixar constantes de seqüência de caracteres com N e você não terá perda de dados como resultado de omitindo o prefixo. No entanto, SQL Server 7.0 permite que você selecione um agrupamento do Unicode durante a instalação que é diferente da ordem de classificação, e em alguns casos isso pode causar operações que envolvem seqüências de caracteres prefixadas com N ter resultados diferentes daqueles que não têm o prefixo. Por exemplo, suponha que, quando você instalou o SQL Server 7.0, você selecionou uma ordem de classificação binária (classificação ordens são usadas ao comparar cadeias de caracteres não-Unicode) e selecionado geral Unicode como o agrupamento do Unicode (o agrupamento Unicode é usado para comparar Unicode seqüências de caracteres). A expressão comparando duas cadeias de caracteres não-Unicode ("ABC" = "abc") retornará FALSO como uma letra maiúscula "A" não é equivalente a um minúscula "a" acordo com a uma ordem de classificação binária. Em contraste, a expressão (N'ABC '= N'abc') deve retornar True. Porque as seqüências de caracteres são prefixadas com um N, eles serão convertidos para Unicode e o agrupamento do Unicode será usado para compará-las. Diferentemente da ordem de classificação binária, o agrupamento Unicode geral é não diferencia maiúsculas de minúsculas e deve considerar duas cadeias de caracteres como equivalente. Observe que, se um dos dois operandos de constante de seqüência de caracteres for prefixado com um N e o outro não, a seqüência de caracteres não-Unicode será convertida para Unicode e o Unicode agrupamento serão aplicadas quando comparando-as. Esse comportamento é explicado com o SQL Server Books Online tópico "Operadores de comparação". A informação contida neste artigo aplica-se a:
Tradução automáticaIMPORTANTE: 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: 239530
(http://support.microsoft.com/kb/239530/en-us/
)
| Outros Recursos Outros Sites de Suporte
ComunidadesObtenha Ajuda AgoraTraduções deste artigo
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


Voltar para o início