Entrar com a conta da Microsoft
Entrar ou criar uma conta.
Olá,
Selecionar uma conta diferente.
Você tem várias contas
Escolha a conta com a qual você deseja entrar.

Sumário

Este artigo descreve o seguinte sobre esta versão do hotfix:

  • Os problemas corrigidos pelo pacote de hotfix

  • Os pré-requisitos para instalar o pacote de hotfix

  • Se é necessário reiniciar o computador após a instalação do pacote de hotfix

  • Se o pacote de hotfix é substituído por qualquer outro pacote de hotfix

  • Se tem de efectuar quaisquer alterações no registro

  • Os arquivos contidos no pacote de hotfix

Sintomas

Considere o seguinte cenário: Um aplicativo usa o Microsoft ADO.NET Entity Framework incluída no Microsoft.NET Framework 3.5 Service Pack 1 para acessar um banco de dados do Microsoft SQL Server Compact 3.5. No aplicativo, você executa uma consulta de "LINQ to Entities" que usa um parâmetro de sequência de caracteres ou um parâmetro binário no banco de dados. Nesse cenário, você recebe a seguinte mensagem de erro quando você executar o aplicativo:

Os tipos de dados ntext e image não podem ser usados em WHERE, HAVING, GROUP BY, em ou em cláusulas, exceto quando esses tipos de dados são usados com o tipo ou é nulo predicados.

Causa

Quando você usa parâmetros para uma consulta de "LINQ to Entities" em um aplicativo, você não pode especificar os tipos de dados base. O provedor do SQL Server Compact Entity Framework tenta criar um parâmetro de nível de provedor baseado as facetas do modelo de dados de entidades (EDM) do parâmetro original. SQL Server Compact não suporta o tipo de dados nvarchar (max) ou o tipo de dados varbinary (max) . Portanto, quando o provedor seleciona o tipo de dados para um parâmetro do tipo de dados de Edm.String ou o tipo de dados de Edm.Binary , o provedor precisa marcar o parâmetro como um dos seguintes tipos de dados com base em facetas EDM do parâmetro:

  • Um parâmetro de sequência de caracteres, o provedor seleciona o tipo de dados de nvarchar(4000) ou o tipo de dados ntext .

  • Um parâmetro binário, o provedor seleciona o tipo de dados de varbinary(4000) ou o tipo de dados de imagem .

Se o provedor de marca o parâmetro como o tipo de dados de nvarchar(4000) ou o tipo de dados varbinary(4000) , ocorrerá um erro quando você tenta inserir valores que são maiores do que 8.000 bytes. Além disso, se o provedor de marcar o parâmetro como o tipo de dados ntext ou o tipo de dados de imagem , um erro ocorre se qualquer operações de igualdade, operações de agrupamento ou classificação de operações estão sendo executadas no parâmetro.

Resolução

Informações sobre o hotfix

Um hotfix compatível foi disponibilizado pela Microsoft. No entanto, esse hotfix destina-se a corrigir somente o problema descrito neste artigo. Aplique este hotfix somente nos sistemas que estiverem enfrentando o problema descrito neste artigo. Esta correção poderá ser submetida a testes adicionais. Portanto, se esse problema não o prejudicar, recomendamos que você aguarde a próxima atualização de software que contenha esse hotfix.

Se o hotfix estiver disponível para download, há uma seção "Download de Hotfix disponível" na parte superior deste artigo da Base de Conhecimento. Se essa seção não for exibida, entre em contato com o suporte e atendimento ao cliente Microsoft para obter o hotfix.

Observação: caso outros problemas estejam ocorrendo ou caso qualquer solução de problemas seja necessária, talvez você precise criar uma solicitação de serviço separada. Os custos normais de suporte serão aplicados a questões de suporte adicionais e problemas que não sejam específicos deste hotfix. Para obter uma lista completa dos números de telefone do Atendimento Microsoft e suporte ou para criar uma solicitação de serviço separada, visite o seguinte site da Microsoft:

http://support.microsoft.com/contactus/?ws=supportObservação: o formulário "Baixar Hotfix disponível" exibe os idiomas para os quais o hotfix está disponível. Caso você não veja seu idioma, é porque um hotfix não está disponível para esse idioma.

Pré-requisitos:

Para aplicar esse hotfix, você deve desinstalar o anteriormente instalado SQL Server Compact 3.5 Service Pack 1 para instalar o arquivo. msi que é fornecido com esse hotfix. Se você não desinstalar o anteriormente instalado SQL Server Compact 3.5 Service Pack 1, você receberá uma mensagem de erro de instalação que afirma que uma versão mais recente do SQL Server Compact já está instalada. Para obter mais informações sobre o SQL Server Compact 3.5 Service Pack 1, clique no número abaixo para ler o artigo na Base de Conhecimento da Microsoft:

Descrição do 955965 do SQL Server Compact 3.5 Service Pack 1

Informações sobre reinicialização

Você não precisa reiniciar o computador após aplicar esse hotfix.

Informações do registro:

Você não precisa alterar o registro.

Informações do arquivo de hotfix

Esse hotfix contém apenas os arquivos necessários para corrigir os problemas listados no artigo. Este hotfix pode não conter todos os arquivos que você necessita para actualizar completamente um produto para a compilação mais recente.

A versão em inglês deste hotfix possui os atributos de arquivo (ou atributos de arquivo posteriores) listados na tabela a seguir. As datas e horas desses arquivos estão listadas na Hora Universal Coordenada (UTC). Quando você exibe as informações do arquivo, ele é convertido para a hora local. Para localizar a diferença entre o UTC e a hora local, use a guia Fuso Horário no item Data e Hora no Painel de Controle.

Nome do Arquivo

Versão do arquivo

Tamanho do arquivo

Data

Hora

Plataforma

System.data.sqlserverce.entity.dll

3.5.5692.1

230,480

24-Sep-2008

06:46

x86/x64/IA-64

System.data.sqlserverce.dll

3.5.5692.1

271,440

24-Sep-2008

06:46

x86/x64

Policy.3.5.system.data.sqlserverce.dll

3.5.5692.1

13,392

24-Sep-2008

06:46

x86/x64

Policy.3.5.system.data.sqlserverce.entity.dll

3.5.5692.1

13,392

24-Sep-2008

06:46

x86/x64

Sqlceca35.dll

3.5.5692.1

343,104

24-Sep-2008

08:07

x86

Sqlcecompact35.dll

3.5.5692.1

84,544

24-Sep-2008

08:07

x86

Sqlceer35en.dll

3.5.5692.1

148,032

24-Sep-2008

08:07

x86

Sqlceme35.dll

3.5.5692.1

65,088

24-Sep-2008

08:07

x86

Sqlceoledb35.dll

3.5.5692.1

172,608

24-Sep-2008

08:07

x86

Sqlceqp35.dll

3.5.5692.1

644,160

24-Sep-2008

08:07

x86

Sqlcese35.dll

3.5.5692.1

348,224

24-Sep-2008

08:07

x86

Status

A Microsoft confirma que este é um problema em seus produtos listados na seção "Aplica-se a".

Mais informações

Depois de aplicar esse hotfix, o provedor não detectar o tipo de dados para um parâmetro do EDM. Sequência de caracteres tipo de dados ou dos EDM. Binário tipo de dados. O processador de consulta seleciona o tipo de dados correto para o parâmetro com base no valor ou na coluna em que o parâmetro seja equiparado ou com o parâmetro é usado.

Por exemplo, na seguinte consulta do Entity SQL, o processador de consulta seleciona o tipo de dados ntext para o parâmetro nome antes de aplicar esse hotfix.

String name = "XYZ";var q = from e in nwind.Employees
where e.First_Name = name
select e;

Depois de aplicar esse hotfix, o tipo de dados da coluna First_Name é selecionado para o parâmetro de nome .

No entanto, no exemplo a seguir, a consulta "LINQ para entidade" falha porque o parâmetro de nome não é equiparado a nem usado com qualquer outro valor ou coluna.

String name = "XYZ";var q = from e in nwind.Employees
select name;

Esse hotfix também resolve um problema conhecido que é descrito no documento Leiame para o SQL Server Compact 3.5. Para obter mais informações, consulte a seção "SQL Server Compact 3.5 SP1 Runtime problemas para o ADO.NET Entity Framework" do seguinte site da Microsoft:

http://download.microsoft.com/download/2/e/c/2ec70436-aef2-4ccb-93a3-ea2f3e20f77d/ReadmeSSC35.htmEsse hotfix resolve o problema que está relacionado às instruções Transact-SQL incorretas que são geradas quando o provedor converte subconsultas escalares para aplicar construções.

Observação: Subconsultas correlacionadas são convertidas em subconsultas escalares internamente. Subconsultas correlacionadas não são suportadas nesta versão. Ao executar essas consultas, você recebe a seguinte mensagem de erro:

Ocorreu um erro ao executar a definição do comando. Consulte a exceção interna para obter detalhes.

A exceção interna contém a seguinte mensagem:

Ocorreu um erro ao analisar a consulta. [..., Token em erro = como]

O motivo é que o ADO.NET Entity Framework interpreta a entrada da consulta como uma consulta que possua o tipo de associação CROSS APPLY ou o tipo de associação OUTER APPLY. Se o lado direito da condição de junção retorna um valor escalar, a associação é convertida em uma subconsulta escalar. O provedor do ADO.NET Entity Framework para SQL Server Compact deve converter esse subconsulta escalar em uma consulta equivalente que tenha o tipo de associação OUTER APPLY é compatível com o SQL Server Compact. No entanto, nesta versão, essa conversão não é feita corretamente. Por exemplo, um erro ocorre para a consulta a seguir nesta versão.

C# Sample Application:using (NorthwindEntities nwEntities = new NorthwindEntities())
{
var orders = nwEntities.Employees
.Select(employee => employee.Orders.Max(order => order.Order_ID));
foreach (var order in orders)
{
Console.WriteLine(order.ToString());
}
}

Para obter mais informações sobre o esquema para nomeação para atualizações do SQL Server, clique no número abaixo para ler o artigo na Base de Conhecimento da Microsoft:

Pacotes de atualização de 822499 novo esquema para nomeação de software do Microsoft SQL Server

Para obter mais informações sobre a terminologia de atualização de software, clique no número abaixo para ler o artigo na Base de Conhecimento da Microsoft:

824684 descrição da terminologia padrão usada para descrever as atualizações de software

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.

As comunidades ajudam você a fazer e responder perguntas, fazer comentários e ouvir especialistas com conhecimento avançado.

Essas informações foram úteis?

Qual é o seu grau de satisfação com a qualidade do idioma?
O que afetou sua experiência?
Ao pressionar enviar, seus comentários serão usados para aprimorar os produtos e serviços da Microsoft. Seu administrador de TI poderá coletar esses dados. Política de Privacidade.

Agradecemos seus comentários!

×