Partilhar via


Assegurando as conversões corretas de ANSI para Unicode

Se a instância do SQL Server à qual você está se conectando contiver dados ANSI, eles serão convertidos em Unicode antes de serem armazenados no banco de dados do SQL Server Compact 3.5. Dependendo das páginas de código do computador que está executando o SQL Server e do computador que está executando o IIS, podem ocorrer erros de conversão. As informações a seguir ajudam a garantir que os dados sejam convertidos corretamente.

Conversões de ANSI para Unicode no Agente de Servidor do SQL Server Compact 3.5

O Agente de Servidor do SQL Server Compact 3.5 que está instalado no computador no qual os Serviços de Informações da Internet da Microsoft (IIS) são executados converte dados ANSI do SQL Server de ou em Unicode para o banco de dados do SQL Server Compact 3.5. Para assegurar a conversão correta, o Agente de Servidor do SQL Server Compact 3.5 determina em qual página de código os dados ANSI são armazenados antes de executar as conversões de ANSI em Unicode. As seguintes informações são consideradas:

  • Se nenhuma outra configuração estiver disponível, será usada a página de código em ANSI com computador que está executando o IIS.

  • Se estiver usando uma instância do SQL Server 2005 ou uma versão posterior, o Agente de Servidor do SQL Server Compact 3.5 usará a página de código do computador em que o SQL Server é executado. Quando cada instância do SQL Server estiver configurada para identificar corretamente os dados em ANSI que estão sendo armazenados, a conversão correta será selecionada automaticamente para cada conexão.

  • Se a conversão não fornecer o valor correto dos dados que estão sendo armazenados, você pode substituir a página de código configurando uma chave do Registro para uma página de código específica.

Criando uma chave do Registro para substituir a página de código

As etapas a seguir mostram como criar uma chave do Registro que substituirá a página de código.

Cuidado

A edição incorreta do Registro pode causar danos sérios ao sistema. Antes de fazer alterações ao Registro, faça backup dos dados importantes no computador.

  1. Se a seguinte chave do Registro ainda não existir, crie-a:

    HKLM\Software\Microsoft\Microsoft SQL Server Compact Edition\v3.5\Transport

  2. Sob a chave HKLM\Software\Microsoft\Microsoft SQL Server Compact Edition\v3.5\Transport, crie um valor de chave DWORD. O nome do valor da chave deve iniciar com o caminho local associado ao diretório virtual do IIS para o SQL Server Compact 3.5. Por exemplo, se Sqlcesa35.dll estiver localizado na pasta C:\Inetpub\Sqlce\, nomeie o valor do Registro como C:\Inetpub\Sqlce\OVERRIDE_SERVER_CP. O valor dos dados da chave DWORD deve ser um valor da página de código. Por exemplo, o seguinte valor da chave do Registro se refere à página de código em inglês:

    Chave: HKLM\Software\Microsoft\Microsoft SQL Server Compact Edition\v3.5\TransportValue: C:\Inetpub\Sqlce\OVERRIDE_SERVER_CP 1252

  3. Depois de criar a entrada do Registro, reinicie o IIS. Isso é importante porque o Agente de Servidor do SQL Server Compact 3.5 lê a chave do Registro somente quando o Agente de Servidor do SQL Server Compact 3.5 é carregado primeiro pelo IIS.