So wird 's gemacht: Setzen Sie neue Werte zu einer Uniqueidentifier-Spalte in SQLServer CE

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 274189 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Zusammenfassung

SQL Server 2000 Windows CE Edition unterstützt den Uniqueidentifier -Datentyp. Standardmäßig wird die SQL Server- NEWID -Funktion nicht in SQL Server CE verwendet, um einen eindeutigen Wert für die Uniqueidentifier -Spalte zu generieren. Attributs ROWGUIDCOL für eine Spalte hat jedoch überladen wurde, um anzugeben, dass ein Standardwert generiert werden soll. Dieses Verhalten ist spezifisch für SQL Server 2000 Windows CE Edition.

Weitere Informationen

Anwendungen, die eine neue Tabelle mit der Uniqueidentifier -Spalte in einer SQL Server CE-Datenbank erstellen oder eine Publikation auf Tabelle eine Replikats von SQL Server 2000 downloaden (die eine Uniqueidentifier -Spalte verfügt) abonnieren, müssen möglicherweise die Tabelle neue Zeilen hinzufügen.

Jedoch können SQL Server CE verwenden, dennoch eine Tabelle mit einer Uniqueidentifier -Spalte erstellen und Einfügen von Daten mithilfe der folgenden Problemumgehungen:

  • Fügen Sie manuell einen formatierten 16-Byte-Binärwert in der INSERT-Anweisung, wie in der INSERT-Thema der SQL Server CE-Onlinedokumentation beschrieben:
    Mit der Uniqueidentifier -Datentyp erstellte Spalten speichern speziell formatierte 16-Byte-Binärwerte. Während eines Einfügevorgangs können Variablen mit einem Datentyp Uniqueidentifier und Zeichenfolgenkonstanten in der Form Xxxxxxxx-Xxxx-Xxxx-Xxxx-Xxxxxxxxxxxx (36 Zeichen einschließlich der Bindestriche, wobei x eine Hexadezimalzahl im Bereich 0-9 oder a-f ist) für Uniqueidentifier -Spalten verwendet werden. 6F9619FF-8B86-D011-B42D-00C04FC964FF ist z. B. ein gültiger Wert für eine Uniqueidentifier Variable oder Spalte.
  • Attributs ROWGUIDCOL für eine Uniqueidentifier -Spalte hat überladen wurde, um anzugeben, dass ein Standardwert generiert werden soll.

    Hier ist Beispielcode, der veranschaulicht, wie es funktioniert:
    
     Create table test1(col1 int, col2 uniqueidentifier rowguidcol)
    
     Insert into test1 (col1) values (1)
    
     Select * from test1
    					

    Mit remote Data Access (RDA) oder Replikation, wenn die Tabelle auf dem Server das ROWGUIDCOL-Attribut hat auf für die Spalte festgelegt und dann die Spalte kann auf SQL Server CE mit eingerichtet werden die der ROWGUIDCOL-Attribut und SQL Server CE erstellt den GUID-Wert für INSERT-Anweisung.

    Diese Problemumgehung gilt nur für die aktuelle Version von SQL Server CE und ist nicht aufwärtskompatibel mit SQL Server. In SQL Server 2000 die ROWGUIDCOL-Eigenschaft generiert nicht automatisch Werte für neue Zeilen, die in der Tabelle eingefügt werden. Diese Problemumgehung gilt möglicherweise nicht in zukünftigen Versionen. Eine Tabelle kann auch nur eine ROWGUIDCOL-Spalte enthalten.

    Die ROWGUIDCOL-Eigenschaft erzwingt keine Eindeutigkeit der Werte in der Spalte gespeichert. Folglich ist es möglich, den gleichen formatierten 16-Byte-Binärwert an eine Uniqueidentifier -Spalte mehr als einmal manuell einfügen. Müssen Sie die Eindeutigkeit zu erzwingen, erstellen Sie einen eindeutigen Index auf die Spalte.

Eigenschaften

Artikel-ID: 274189 - Geändert am: Montag, 12. Juli 2004 - Version: 1.2
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft SQL Server 2000 Windows CE Edition
Keywords: 
kbmt kbgrpdssqlce kbhowto kbsqlserv2000 KB274189 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 274189
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.
Disclaimer zu nicht mehr gepflegten KB-Inhalten
Dieser Artikel wurde für Produkte verfasst, für die Microsoft keinen Support mehr anbietet. Der Artikel wird deshalb in der vorliegenden Form bereitgestellt und nicht mehr weiter aktualisiert.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com