Accedi con Microsoft
Accedi o crea un account.
Salve,
Seleziona un altro account.
Hai più account
Scegli l'account con cui vuoi accedere.

Riepilogo

In questo articolo vengono descritti i seguenti aspetti dell'hotfix:

  • I problemi risolti dal pacchetto di hotfix

  • Prerequisiti per l'installazione del pacchetto hotfix

  • Se è necessario riavviare il computer dopo l'installazione del pacchetto hotfix

  • Se il pacchetto di hotfix è sostituito da un altro pacchetto

  • Se è necessario apportare le modifiche del Registro di sistema

  • I file contenuti nel pacchetto di hotfix

Sintomi

Si consideri il seguente scenario. Un'applicazione utilizza Microsoft ADO.NET Entity Framework incluso in Microsoft.NET Framework 3.5 Service Pack 1 per accedere a un database di Microsoft SQL Server Compact 3.5. Nell'applicazione, si esegue una query "LINQ to Entities" che utilizza un parametro di stringa o un parametro binario nel database. In questo scenario, viene visualizzato il seguente messaggio di errore quando si esegue l'applicazione:

Impossibile utilizzare i tipi di dati ntext e image in WHERE, HAVING, GROUP BY, nella o nelle clausole, tranne quando questi tipi di dati vengono utilizzati con simili o predicati NULL.

Causa

Quando si utilizzano i parametri per una query "LINQ to Entities" in un'applicazione, è possibile specificare i tipi di database di base. Il provider SQL Server Compact Entity Framework tenta di creare un parametro a livello di provider in base alle sfaccettature Entity Data Model (EDM) del parametro originale. SQL Server Compact non supporta il tipo di dati nvarchar (max) o il tipo di dati varbinary (max) . Pertanto, quando il provider seleziona il tipo di dati per un parametro del tipo di dati Edm.String o Edm.Binary tipo di dati, il provider ha il parametro sia contrassegnato come uno dei seguenti tipi di dati in base alle sfaccettature EDM del parametro:

  • Per un parametro di stringa, il provider seleziona il tipo di dati nvarchar (4000) o il tipo di dati ntext .

  • Per un parametro di tipo binario, il provider seleziona il tipo di dati varbinary(4000) o il tipo di dati di immagine .

Se il provider contrassegna il parametro come tipo di dati nvarchar (4000) o come tipo di dati varbinary(4000) , si verifica un errore quando si tenta di inserire i valori maggiori di 8.000 byte. Inoltre, se il provider contrassegna il parametro come tipo di dati ntext o come tipo di dati di immagine , verrà generato un errore se vengono eseguite le operazioni di uguaglianza, operazioni di raggruppamento o operazioni di ordinamento sul parametro.

Risoluzione

Informazioni sull'hotfix

Un hotfix supportato è disponibile da Microsoft. Tuttavia, questo hotfix è destinato esclusivamente alla correzione del problema descritto in questo articolo. Applicare questo hotfix solo ai sistemi in cui si verifica il problema descritto in questo articolo. Questo hotfix potrebbe essere sottoposto ad ulteriori test. Se il problema non causa gravi difficoltà, si consiglia di attendere il successivo aggiornamento software contenente tale hotfix.

Se l'hotfix è disponibile per il download, è presente una sezione "Hotfix disponibile per il download" all'inizio di questo articolo della Knowledge Base. Se questa sezione non viene visualizzata, contattare il servizio clienti Microsoft e supporto tecnico per ottenere l'hotfix.

Nota: Se si verificano ulteriori problemi o se è necessaria attività di risoluzione aggiuntiva, potrebbe essere necessario creare una richiesta di assistenza separata. I costi di supporto normale verranno applicati per eventuali ulteriori domande e problemi che non dovessero rientrare specifico hotfix in questione. Per un elenco completo dei numeri di telefono del servizio clienti Microsoft e supporto tecnico o per creare una richiesta di assistenza separata, visitare il seguente sito Web Microsoft:

http://support.microsoft.com/contactus/?ws=supportNota: Il modulo "Hotfix disponibile per il download" Visualizza le lingue per cui è disponibile l'hotfix. Se non viene visualizzata la lingua, è perché un aggiornamento rapido non è disponibile per tale lingua.

Prerequisiti

Per applicare questo hotfix, è necessario disinstallare il precedentemente installato SQL Server Compact 3.5 Service Pack 1 per installare il file MSI fornito con questo hotfix. Se non si disinstalla il precedentemente installato SQL Server Compact 3.5 Service Pack 1, viene visualizzato un messaggio di errore di installazione che informa che è già installata una versione successiva di SQL Server Compact. Per ulteriori informazioni su SQL Server Compact 3.5 Service Pack 1, fare clic sul numero riportato di seguito per visualizzare l'articolo della Microsoft Knowledge Base:

Descrizione di 955965 di SQL Server Compact 3.5 Service Pack 1

Informazioni sul riavvio

Non è necessario riavviare il computer dopo avere applicato questo hotfix.

Informazioni del Registro di sistema

Non è necessario modificare il Registro di sistema.

Informazioni sui file

Questo hotfix contiene solo i file necessari per correggere i problemi elencati in questo articolo. Questo hotfix potrebbe non contenere tutti i file necessari per aggiornare completamente un prodotto all'ultima build.

La versione inglese di questo hotfix presenta gli attributi di file (o attributi successivi) elencati nella tabella riportata di seguito. Le date e ore dei file sono elencate in base al formato UTC (Coordinated Universal Time Coordinated). Quando si visualizzano le informazioni sul file, viene convertito in ora locale. Per calcolare la differenza tra ora UTC e ora locale, utilizzare la scheda fuso orario nell'elemento di Data e ora nel Pannello di controllo.

Nome del file

Versione del file

Dimensione del file

Data

Ora

Piattaforma

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

Stato

Microsoft ha confermato che questo è un problema dei prodotti Microsoft elencati nella sezione "Si applica a".

Ulteriori informazioni

Dopo avere applicato questo hotfix, il provider non indovinare il tipo di dati per un parametro di di EDM. Stringa tipo di dati o di di EDM. Binario tipo di dati. Seleziona il tipo di dati corretto per il parametro basato sul valore o sulla colonna in cui il parametro è equivalente o con cui viene utilizzato il parametro.

Ad esempio, nella seguente query Entity SQL, query processor consente di selezionare il tipo di dati ntext per il parametro name prima di applicare questo hotfix.

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

Dopo avere applicato questo hotfix, è selezionato il tipo di dati della colonna nome per il parametro name .

Tuttavia, nell'esempio seguente, la query "LINQ a entità" ha esito negativo poiché il parametro name viene utilizzato con qualsiasi altro valore o una colonna né equivale a.

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

Questo hotfix risolve anche un problema noto che è descritta nel documento Leggimi per SQL Server Compact 3.5. Per ulteriori informazioni, vedere la sezione "SQL Server Compact 3.5 SP1 Runtime problemi for the ADO.NET Entity Framework" del seguente sito Web Microsoft:

http://download.microsoft.com/download/2/e/c/2ec70436-aef2-4ccb-93a3-ea2f3e20f77d/ReadmeSSC35.htmQuesto hotfix risolve il problema correlato alla corrette istruzioni Transact-SQL che vengono generate quando il provider converte subquery scalari applicare costrutti.

Nota: Le subquery correlate vengono convertite internamente in subquery scalari. La subquery non sono supportate in questa versione. Quando si eseguono tali query, viene visualizzato il seguente messaggio di errore:

Si è verificato un errore durante l'esecuzione di definizione dei comandi. L'eccezione interna per informazioni dettagliate, vedere.

L'eccezione interna contiene il seguente messaggio:

Si è verificato un errore di analisi della query. [..., Il token in errore = AS]

Il motivo è che ADO.NET Entity Framework query di input viene interpretato come una query che ha il tipo di join CROSS APPLY o il tipo di join OUTER APPLY. Se il lato destro della condizione di join restituisce un valore scalare, il join viene convertito in una subquery scalare. Il provider ADO.NET Entity Framework per SQL Server Compact deve convertire tale subquery scalare in una query equivalente con il tipo di join OUTER APPLY, supportato da SQL Server Compact. Tuttavia, in questa versione, questa conversione non viene eseguita correttamente. Ad esempio, si verifica un errore per la query riportata di seguito in questa versione.

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());
}
}

Per ulteriori informazioni sullo schema di denominazione per gli aggiornamenti di SQL Server, fare clic sul numero riportato di seguito per visualizzare l'articolo della Microsoft Knowledge Base riportato di seguito:

I pacchetti di aggiornamento 822499 nuovo schema di denominazione per il software di Microsoft SQL Server

Per ulteriori informazioni sulla terminologia degli aggiornamenti software, fare clic sul seguente numero di articolo per visualizzare l'articolo della Microsoft Knowledge Base:

824684 descrizione della terminologia standard utilizzata per descrivere gli aggiornamenti software Microsoft

Serve aiuto?

Vuoi altre opzioni?

Esplorare i vantaggi dell'abbonamento e i corsi di formazione, scoprire come proteggere il dispositivo e molto altro ancora.

Le community aiutano a porre e a rispondere alle domande, a fornire feedback e ad ascoltare gli esperti con approfondite conoscenze.

Queste informazioni sono risultate utili?

Come valuti la qualità della lingua?
Cosa ha influito sulla tua esperienza?
Premendo Inviare, il tuo feedback verrà usato per migliorare i prodotti e i servizi Microsoft. L'amministratore IT potrà raccogliere questi dati. Informativa sulla privacy.

Grazie per il feedback!

×