SQL Server-Upsizing-Assistent: Schritt 4 – Zuordnen der Felddatentypen

In diesem Schritt zeigt Visual FoxPro die Standardzuordnungen für Datentypen an, die beim Upsizing von Tabellen auf den Server für die Konvertierung lokaler Daten nach Remotedaten verwendet werden. Sie können diese Standardzuordnungen ändern.

Sie können die Standardzuordnung für ein Schlüsselfeld nicht auf einen Datentyp ändern, der eine Indizierung dieses Feldes ausschließt. Sie können die Standardzuordnung eines Feldes, das Bestandteil eines Indexschlüssels ist, ändern, wenn Sie einen indizierbaren Datentyp auswählen. Dabei sollten Sie jedoch berücksichtigen, ob Sie die Datentypen der anderen zu diesem Schlüssel gehörenden Felder nicht auch ändern, damit diese zueinander passen. Visual FoxPro warnt Sie, wenn Sie die Standarddatentypzuordnung für ein Feld ändern, das zwar kein Schlüsselfeld ist, aber in einem Visual FoxPro-Index verwendet wird. Wenn Sie einen Fehler machen, klicken Sie auf Standard, um die Datentypen wieder zurückzusetzen.

  • Tabelle
    Wählen Sie aus der Liste der für das Upsizing ausgewählten Tabellen diejenige aus, für deren Felder Sie die Zuordnung treffen möchten.
  • Timestamp-Spalte
    Aktivieren Sie dieses Kontrollkästchen, um zu der Serverversion der Tabelle eine Timestamp-Spalte hinzuzufügen. Wenn dies für alle Tabellen gelten soll, können Sie Zeit sparen, indem Sie das Kontrollkästchen Alle Tabellen aktivieren.
  • Identitätsspalte
    Aktivieren Sie dieses Kontrollkästchen, um zu der Serverversion der Tabelle eine Identitätsspalte hinzuzufügen. Wenn dies für alle Tabellen gelten soll, können Sie Zeit sparen, indem Sie das Kontrollkästchen Alle Tabellen aktivieren.
  • Standard
    Wählen Sie diese Schaltfläche, um alle Tabellenfeldeinstellungen aller Felder der ausgewählten Tabellen wieder auf den Standardwert zurückzusetzen. Tatsächlich nimmt diese Schaltfläche alle Änderungen zurück, die Sie in Schritt 4 für eine bestimmte Tabelle spezifiziert haben.
  • Feldname
    Listet die in der aus der Liste Tabelle ausgewählten Tabelle enthaltenen Felder auf.
  • FoxPro-Typ
    Gibt den Visual FoxPro-Datentyp für das Feld an.
  • Servertyp
    Gibt den Serverdatentyp an, der beim Kopieren der Tabelle auf den Server den Visual FoxPro-Daten dieses Feldes zugeordnet wird. Klicken Sie in dieses Feld, um eine Dropdownliste anzuzeigen, aus der Sie einen anderen Serverdatentyp auswählen können.
  • Breite
    Gibt die Breite des Feldes an.
  • Precision
    Gibt (sofern anwendbar) die Anzahl der Dezimalstellen dieses Feldes an.

Erstellen von Timestamp-Spalten

Eine SQL Server-Timestamp-Spalte enthält einen von SQL Server erstellten eindeutigen Wert, der bei jeder Aktualisierung des Serverdatensatzes aktualisiert wird. Die Verwendung eines Timestamps in einer aktualisierbaren Remotetabelle kann zu verbesserter Leistungsfähigkeit und Zuverlässigkeit führen.

Wenn Sie unter Verwendung der Visual FoxPro-SQL-WhereType-Werte DB_KEYANDMODIFIED oder DB_KEYANDUPDATABLE Felder aktualisieren, muss Visual FoxPro alle veränderten oder aktualisierbaren Felder überprüfen, um festzustellen, ob diese durch einen anderen Benutzer geändert wurden. Da Text- und Bildfelder leicht mehrere Megabyte groß sein können, erweist sich der Vergleich dieser Felder schnell als netzwerkbelastend und zeitintensiv und so die Leistungsfähigkeit herabsetzend. Zudem kann die Zuverlässigkeit beeinträchtigt werden, da beispielsweise nach der Konvertierung eines Gleitkommafeldes zwischen Client und Server der Eindruck entstehen kann, dass sich der Wert geändert hat, obwohl dies nicht der Fall ist.

Wenn Sie zu einer Remotetabelle ein Timestamp-Feld hinzufügen und unter Verwendung des SQL-WhereType-Wertes DB_KEYANDTIMESTAMP aktualisieren, verwendet Visual FoxPro nur den Wert im Timestamp-Feld, um vor dem Aktualisieren des Datensatzes festzustellen, ob dieser geändert wurde. Da Visual FoxPro den Wert des Timestamp-Feldes wesentlich schneller vergleichen kann als den Inhalt großer Text- oder Bildfelder, können Sie so die Leistungsfähigkeit im Umgang mit Remotedaten erhöhen. Wenn Sie jedoch den SQL-WhereType-Wert DB_KEYANDTIMESTAMP verwenden, so wird jede Änderung im Remotedatensatz als Aktualisierungskonflikt erkannt, unabhängig davon, ob das geänderte Remotefeld in der Liste der von Ihnen in der Remoteansicht als modifizierbar definierten Felder enthalten ist.

Wenn Sie die Aktualisierung von Feldern unter Verwendung des Visual FoxPro-SQL-WhereType-Wertes DB_KEYANDMODIFIED vorziehen, können Sie die Leistungsfähigkeit möglicherweise weiter erhöhen, indem Sie die CompareMemo-Eigenschaft der Remoteansicht auf Falsch (.F.) setzen. Ist CompareMemo auf Falsch gesetzt, so werden Memofelder aus der Liste der gegen die Daten der Remoteserverzeile verglichenen Remotefelder entfernt.

Siehe auch

SQL Server-Upsizing-Assistent | SQL Server-Upsizing-Assistent: Schritt 1 - Auswählen der lokalen Datenbank | SQL Server-Upsizing-Assistent: Schritt 2 - Auswählen der Datenquelle | SQL Server-Upsizing-Assistent: Schritt 3 - Auswählen von Tabellen | SQL Server-Upsizing-Assistent: Schritt 5 - Auswählen der Zieldatenbank | SQL Server-Upsizing-Assistent: Schritt 6 - Festlegen der Datenbankeigenschaften | SQL Server-Upsizing-Assistent: Schritt 7 - Angeben der Protokolleigenschaften | SQL Server Upsizing Wizard: Step 8 - Set Upsizing Options | SQL Server-Upsizing-Assistent: Schritt 9 - Fertigstellen | Assistenten