Fehler #: 99150 (Content Maintenance)Fehler #: 50003448 (SQL Hotfix)

Zusammenfassung

Dieser Artikel beschreibt folgendes über diese Version des Hotfixes:

  • Das Hotfix-Paket behobenen Probleme

  • Die erforderlichen Komponenten für die Installation des Hotfix-Pakets

  • Gibt an, ob Sie den Computer neu starten müssen, nachdem Sie das Hotfix-Paket installiert haben

  • Gibt an, ob das Hotfixpaket durch ein anderes Hotfixpaket ersetzt wird

  • Ob Sie Registrierungsschlüssel ändern müssen

  • Das Hotfix-Paket enthaltene Dateien

Problembeschreibung

Das folgende Szenario. Eine Anwendung verwendet Microsoft ADO.NET Entity Framework, das in Microsoft.NET Framework 3.5 Servicepack 1 auf Microsoft SQL Server Compact 3.5-Datenbank enthalten ist. In der Anwendung führen Sie eine "LINQ to Entities" Abfrage einen Parameter oder einen binären Parameter für die Datenbank. In diesem Szenario erhalten Sie die folgende Fehlermeldung beim Ausführen der Anwendungdes:

Die Datentypen Ntext und Image können nicht in, HAVING, GROUP BY- oder IN Klauseln, sofern diese Datentypen wie verwendet oder IS NULL-Prädikaten verwendet werden.

Ursache

Wenn Sie Parameter für eine Abfrage "LINQ to Entities" in einer Anwendung verwenden, können nicht die Basisdatenbank Typen angeben SQL Server Compact Entity Framework-Anbieter versucht ein Anbieter auf Parameter basierend auf dem Entity Data Model (EDM) des ursprünglichen Parameters. SQL Server Compact unterstützt nvarchar(max) Datentyp oder der Datentyp varbinary(max) nicht. Wenn der Anbieter den Datentyp für einen Parameter vom Typ Edm.String oder Edm.Binary Daten auswählt, muss der Anbieter den Parameter als einen der folgenden Datentypen basierend auf der EDM-Facets des Parameters markieren:

  • Für einen Zeichenfolgenparameter wählt der Anbieter den Datentyp nvarchar(4000) Ntext -Datentyp.

  • Für einen binären Parameter wählt Anbieter varbinary(4000) Datentyp Image -Datentyp.

Wenn der Anbieter Parameter als Datentyp nvarchar(4000) oder als varbinary(4000) -Datentyp ist, tritt ein Fehler beim Einfügen von Werten, die größer als 8000 Bytes sind. Darüber hinaus tritt Anbieter Parameter als Datentyp Ntext oder Image -Datentyp ist, ein Fehler Wenn alle Gleichheitsoperationen Gruppiervorgänge oder Sortiervorgänge auf der Parameter durchgeführt werden.

Problemlösung

Hotfix-Informationen

Ein unterstützter Hotfix ist von Microsoft erhältlich. Dieser Hotfix soll nur der Behebung des Problems dienen, das in diesem Artikel beschrieben wird. Wenden Sie dieses Hotfix nur auf Systeme an, bei denen das in diesem Artikel beschriebene Problem auftritt. Dieser Hotfix sollte weiteren Tests unterzogen werden. Wenn Ihr System durch dieses Problem nicht schwerwiegend beeinträchtigt ist, empfehlen wir sie, auf das nächste Softwareupdate zu warten, das diesen Hotfix enthält.

Wenn der Hotfix zum Download zur Verfügung steht, gibt es einen Abschnitt "Hotfixdownload available" ("Hotfixdownload verfügbar"), am oberen Rand dieses Knowledge Base-Artikel. Wenn dieser Abschnitt nicht angezeigt wird, wenden Sie sich an den Microsoft Customer Service and Support, um den Hotfix zu erhalten.

Hinweis Falls weitere Probleme auftreten oder andere Schritte zur Problembehandlung erforderlich sind, müssen Sie möglicherweise eine separate Serviceanfrage erstellen. Die normalen Supportkosten gelten für zusätzliche Supportfragen und Probleme, die nicht diesem speziellen Hotfix zugeordnet werden können. Für eine vollständige Liste der Telefonnummern des Microsoft Customer Service and Support, oder um eine separate Serviceanfrage zu erstellen, gehen Sie auf folgende Microsoft-Website:

http://support.microsoft.com/contactus/?ws=supportHinweis Das Formular "Hotfix download available" ("Hotfixdownload verfügbar") zeigt die Sprachen an, für die der Hotfix verfügbar ist. Wenn Ihre Sprache nicht angezeigt wird, ist dieser Hotfix für Ihre Sprache nicht verfügbar.

Voraussetzungen

Um diesen Hotfix anwenden zu können, müssen Sie die zuvor installierte SQL Server Compact 3.5 Service Pack 1 installieren Sie die MSI-Datei, die bereitgestellt wird dieser Hotfix deinstallieren. Wenn Sie nicht die zuvor installierte SQL Server Compact 3.5 Service Pack 1 deinstallieren, erhalten Sie Installation eine Fehlermeldung angezeigt, die besagt, dass eine neuere Version von SQL Server Compact installiert ist. Weitere Informationen zu SQL Server Compact 3.5 Service Pack 1 Klicken Sie auf die folgenden Artikelnummer der Microsoft Knowledge Base:

955965 Beschreibung des SQL Server Compact 3.5 Servicepack 1

Informationen zum Neustart

Sie müssen keinen Neustart des Computers nach der Installation dieses Hotfixes durchführen.

Informationen zur Registrierung

Sie haben nicht die Registrierung ändern.

Hotfix-Informationen

Dieser Hotfix enthält nur die Dateien, die in diesem Artikel beschriebenen Probleme zu beheben. Dieser Hotfix enthält möglicherweise nicht alle Dateien, die Sie benötigen, um ein Produkt vollständig auf den neuesten Stand zu aktualisieren.

Die englische Version dieses Hotfixes weist Dateiattribute (oder spätere Attribute), die in der folgenden Tabelle aufgelistet sind. Die Datums- und Uhrzeitangaben für diese Dateien sind in Coordinated Universal Time (UTC) aufgelistet. Wenn Sie die Dateiinformationen anzeigen, werden sie in die lokale Zeit konvertiert. Um die Differenz zwischen UTC und der Ortszeit zu finden, verwenden Sie die Registerkarte Zeitzone unter Datum und Uhrzeit in der Systemsteuerung.

Dateiname

Dateiversion

Dateigröße

Datum

Zeit

Plattform

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

Dieser Hotfix nicht öffentlich zum Download (d. h. eine öffentliche URL für diesen Hotfix nicht in diesem Artikel bereitgestellt wird) gebucht, Verteilung erfordert technische Eskalation Teammitglied oder Genehmigung eines Managers und Folgendes gilt:

  • Um den Hotfix zu erhalten, müssen Kunden den Fehler, der im Abschnitt "Symptome" genannt.

  • Sie müssen die Kunden aufzeichnen zu senden und sie mit dem nächsten Servicepack angeben, wenn es verfügbar wird (wenn ein Servicepack veröffentlicht wird).

Dieser Hotfix wird in zukünftigen Updates und Servicepacks von SQL Server Compact 3.5 Service Pack 1 enthalten sein.

Im Abschnitt "Lösung" gibt an, ob dieser Hotfix als Hotfix oder das neueste Servicepack verfügbar ist. Zu Vergleichs- und Testzwecken steht das originale-Hotfix auf der Website http://hotfix .

Hinweis für Supportmitarbeiter: Build 3.5.5692.1 erhalten, finden Sie auf der folgenden Microsoft-Website:

http://hotfix

Geben Sie im KB-Suche 958478und klicken Sie auf OK.

Status

Microsoft hat bestätigt, dass es sich um ein Problem bei den Microsoft-Produkten handelt, die im Abschnitt „Eigenschaften“ aufgeführt sind.

Weitere Informationen

Nach Installation dieses Hotfixes ist der Anbieter nicht den Datentyp eines Parameters EDM erraten. String Datentyp oder EDM. Binäre Datentyp. Der Abfrageprozessor wählt den richtigen Datentyp für den Parameter auf den Wert oder die Spalte die Parameters identisch ist oder mit denen der Parameter verwendet wird.

Beispielsweise wählt in der folgenden Entity SQL-Abfrage der Abfrageprozessor Ntext -Datentyp für den Parameter , bevor Sie diesen Hotfix anwenden.

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

Nachdem Sie diesen Hotfix anwenden, wird der Datentyp der Spalte Vorname für den Parameter ausgewählt.

Im folgenden Beispiel fehlschlägt "LINQ-Entität" Abfrage jedoch, weil der Namensparameter wird gleichgesetzt weder mit anderen Wert oder Spalte verwendet.

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

Dieser Hotfix behebt auch ein bekanntes Problem in der Infodatei für SQL Server Compact 3.5 beschrieben wird. Weitere Informationen finden Sie im Abschnitt "SQL Server Compact 3.5 SP1-Laufzeit Probleme für das ADO.NET Entity Framework" von der folgenden Microsoft-Website:

http://download.microsoft.com/download/2/e/c/2ec70436-aef2-4ccb-93a3-ea2f3e20f77d/ReadmeSSC35.htmDieser Hotfix behebt das Problem, das falsche Transact-SQL-Anweisung ist, die generiert werden, wenn der Anbieter skalare Unterabfragen anzuwendende Konstrukte konvertiert.

Hinweis Korrelierten Unterabfragen sind Skalare Unterabfragen intern konvertiert. Korrelierten Unterabfragen sind in dieser Version nicht unterstützt. Wenn Sie diese Abfragen ausführen, erhalten Sie folgende Fehlermeldung:

Fehler beim Ausführen der Command-Definition. Details finden Sie die innere Ausnahme.

Die innere Ausnahme enthält folgende Meldung:

Fehler bei der Analyse der Abfrage. [.., Fehler token = AS]

Der Grund ist, dass ADO.NET Entity Framework Eingabeabfrage als eine Abfrage interpretiert, die den Verknüpfungstyp CROSS APPLY oder den Verknüpfungstyp OUTER APPLY. Wenn rechts der Join-Bedingung einen skalaren Wert zurückgibt, wird die Verknüpfung in eine skalare Unterabfrage konvertiert. ADO.NET Entity Framework-Datenanbieter für SQL Server Compact ist eine entsprechende Abfrage, skalare Unterabfrage konvertieren, die den Verknüpfungstyp OUTER APPLY SQL Server Compact unterstützt. Allerdings ist in dieser Version diese Konvertierung nicht richtig. Beispielsweise tritt ein Fehler für die folgende Abfrage in dieser Version.

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

Weitere Informationen zum Benennungsschema für SQL Server-Updates klicken Sie auf die folgenden Artikelnummer der Microsoft Knowledge Base:

Neues Benennungsschema für Microsoft SQL Server-Software 822499 Pakete aktualisieren

Um weitere Informationen zur Terminologie für Softwareupdates zu erhalten, klicken Sie auf die folgende Artikelnummer, um den Artikel der Microsoft Knowledge Base anzuzeigen:

824684 Erläuterung von der standardmäßigen Standardbegriffen bei Microsoft Softwareupdates

Aufruflisteninformationen

   at System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)
at System.Data.Objects.Internal.ObjectQueryExecutionPlan.Execute[TResultType](ObjectContext context, ObjectParameterCollection parameterValues)
at System.Data.Objects.ObjectQuery`1.GetResults(Nullable`1 forMergeOption)
at System.Data.Objects.ObjectQuery`1.System.Collections.Generic.IEnumerable<T>.GetEnumerator()
at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source)
at System.Data.Objects.ELinq.ObjectQueryProvider.<GetElementFunction>b__1[TResult](IEnumerable`1 sequence)
at System.Data.Objects.ELinq.ObjectQueryProvider.ExecuteSingle[TResult](IEnumerable`1 query, Expression queryRoot)
at System.Data.Objects.ELinq.ObjectQueryProvider.System.Linq.IQueryProvider.Execute(Expression expression)
at System.Linq.Queryable.FirstOrDefault[TSource](IQueryable`1 source, Expression`1 predicate)


Autor: Bruceye; rtandon
Autor: Ericzha
Technische Überprüfung: Kennethr; Abidkhan; Rtandon; vamshikb
Redaktion: V-andmck

Benötigen Sie weitere Hilfe?

Ihre Office-Fähigkeiten erweitern
Schulungen erkunden
Neue Funktionen als Erster erhalten
Microsoft Insider beitreten

War diese Information hilfreich?

Wie zufrieden sind Sie mit der Übersetzungsqualität?
Was hat Ihre Erfahrung beeinflusst?

Vielen Dank für Ihr Feedback!

×