Freigeben über


Sicherstellen richtiger ANSI-in-Unicode-Konvertierungen

Wenn die Instanz von SQL Server, mit der Sie eine Verbindung herstellen,ANSI-Daten enthält, werden die Daten vor dem Speichern in der SQL Server Compact 3.5-Datenbank in Unicode konvertiert. Abhängig davon, welche Codepages auf dem Computer mit SQL Server und auf dem Computer mit IIS verwendet werden, können Konvertierungsfehler auftreten. Mit den folgenden Informationen lässt sich sicherstellen, dass die Daten richtig konvertiert werden.

ANSI-in-Unicode-Konvertierungen im Server-Agent für SQL Server Compact 3.5

Der Server-Agent für SQL Server Compact 3.5, der auf dem Computer mit Microsoft Internetinformationsdienste (Internet Information Services, IIS) installiert ist, konvertiert ANSI-Daten in SQL Server für die SQL Server Compact 3.5-Datenbank in oder aus Unicode. Damit eine richtige Konvertierung sichergestellt ist, bestimmt der Server-Agent für SQL Server Compact 3.5, bevor eine ANSI-in-Unicode-Konvertierung ausgeführt wird, in welcher Codepage die ANSI-Daten gespeichert werden. Es gelten die folgenden Informationen:

  • Wenn keine anderen Einstellungen verfügbar sind, wird die ANSI-Codepage des Computers mit IIS verwendet.

  • Wenn Sie eine Instanz von SQL Server 2005 oder höher verwenden, verwendet der Server-Agent für SQL Server Compact 3.5 die Codepage des Computers mit SQL Server. Wenn jede Instanz von SQL Server so eingerichtet ist, dass sie die zu speichernden ANSI-Daten richtig erkennt, wird für jede Verbindung automatisch die richtige Konvertierung ausgewählt.

  • Ergibt die Konvertierung nicht den richtigen Wert für die zu speichernden Daten, können Sie die Codepage außer Kraft setzen, indem Sie einen Registrierungsschlüssel auf eine bestimmte Codepage festlegen.

Erstellen eines Registrierungsschlüssels, um die Codepage außer Kraft zu setzen

Anhand der folgenden Schritte wird gezeigt, wie ein Registrierungsschlüssel erstellt wird, der die Codepage außer Kraft setzt.

Achtung

Ein fehlerhaftes Bearbeiten der Registrierung kann eine schwerwiegende Beschädigung Ihres Systems zur Folge haben. Bevor Sie Änderungen an der Registrierung vornehmen, sollten Sie alle wichtigen Daten sichern, die sich auf dem Computer befinden.

  1. Wenn es den folgenden Registrierungsschlüssel noch nicht gibt, erstellen Sie ihn:

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

  2. Erstellen Sie unter dem Schlüssel HKLM\Software\Microsoft\Microsoft SQL Server Compact Edition\v3.5\Transport einen DWORD-Schlüsselwert. Der Name des Schlüsselwerts muss mit dem lokalen Pfad beginnen, der dem virtuellen Verzeichnis von IIS für SQL Server Compact 3.5 zugeordnet ist. Wenn sich die Datei Sqlcesa35.dll z. B. im Ordner C:\Inetpub\Sqlce\ befindet, müssen Sie den Registrierungswert C:\Inetpub\Sqlce\OVERRIDE_SERVER_CP nennen. Der Datenwert des DWORD-Schlüssels muss einem Wert der Codepage entsprechen. Der folgende Registrierungsschlüsselwert gilt z. B. für die englische Codepage:

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

  3. Nachdem Sie den Registrierungseintrag erstellt haben, müssen Sie IIS neu starten. Dies ist wichtig, da der Server-Agent für SQL Server Compact 3.5 den Registrierungsschlüssel nur liest, wenn der Server-Agent für SQL Server Compact 3.5 erstmalig von IIS geladen wird.