Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » MobiLink - Serveradministration » MobiLink-Referenz » MobiLink-Datenzuordnungen zwischen entfernten und konsolidierten Datenbanken

 

Zuordnung der Datentypen von Adaptive Server Enterprise

Zuordnung zu konsolidierten Adaptive Server Enterprise-Datentypen

Die folgende Tabelle zeigt, wie entfernte SQL Anywhere- und UltraLite-Datentypen den konsolidierten Adaptive Server Enterprise-Datentypen zugeordnet werden. Zum Beispiel sollte eine Spalte, die in der entfernten Datenbank den Datentyp FLOAT hat, in der konsolidierten Datenbank den Typ REAL haben.

Maximum Column Length (MCL, Maximale Spaltenlänge) hängt von der Seitengröße in Adaptive Server Enterprise ab. Bei einer Seitengrößte von 2 KByte beträgt die MCL 1954 und bei einer Seitengrößte von 4 KByte beträgt die MCL 4002. Informationen über MCL finden Sie in der Dokumentation zu Adaptive Server Enterprise.

Datentypen in SQL Anywhere oder UltraLite Datentyp in Adaptive Server Enterprise Hinweise

BIGINT

NUMERIC(20)1 oder BIGINT2

BIT

BIT

BINARY(n=<MCL)

BINARY(n)

BINARY(n>MCL)

IMAGE

CHAR(n=<MCL)

VARCHAR(n)

CHAR(n>MCL)

TEXT

Sorgen Sie beim Download dafür, dass die Werte nicht zu lang sind.

DATE

DATE3 oder DATETIME4

Für Adaptive Server Enterprise DATETIME muss die Jahreszahl im Bereich von 1753 bis 9999 liegen.

Für SQL Anywhere und UltraLite muss die Zeitangabe das Format 00:00:00 haben.

DATETIME

DATETIME

Bei Adaptive Server Enterprise sind die DATETIME-Werte bis auf 1/300 Sekunde genau. Die letzte Ziffer des Sekundenbruchteils ist immer 0, 3 oder 6. Andere Ziffern werden auf eine dieser Ziffern gerundet. Somit werden 0 und 1 zu 0; 2, 3 und 4 werden zu 3; 5, 6, 7 und 8 werden zu 6 und 9 wird zu 10.

Bei einem Download behält SQL Anywhere die Originalwerte von Adaptive Server Enterprise bei, aber bei einem Upload können die Werte geringfügig von den Originalwerten abweichen.

Falls DATETIME für einen Primärschlüssel verwendet wird, könnte die Konfliktlösung fehlschlagen. Für eine einwandfreie Synchronisation von DATETIME können Sie die Sekundenbruchteile auf 10 Millisekunden runden. Außerdem muss das Jahr im Bereich von 1753 - 9999 liegen.

DECIMAL(p<39, s)

DECIMAL(p,s)

Die Gesamtstellenzahl des Typs NUMERIC in Adaptive Server Enterprise kann 1 bis 38 Ziffern betragen (p<39).

DECIMAL(p>=39,s)

Es gibt keinen entsprechenden Datentyp in Adaptive Server Enterprise.

DOUBLE

DOUBLE PRECISION

FLOAT(p)

FLOAT(p)

IMAGE

IMAGE

INTEGER

INTEGER

LONG BINARY

IMAGE

LONG NVARCHAR

UNITEXT

LONG VARBIT

TEXT

LONG VARCHAR

TEXT

MONEY

MONEY

NCHAR(c=<MCL)

UNIVARCHAR(c/2)

NCHAR(c>MCL)

UNITEXT

Sorgen Sie beim Download dafür, dass die Werte nicht zu lang sind.

NTEXT

UNITEXT

NUMERIC(p<39,s)

NUMERIC(p,s)

Die Gesamtstellenzahl des Typs DECIMAL in Adaptive Server Enterprise kann 1 bis 38 Ziffern betragen (p<39).

NUMERIC(p>=39,s)

NVARCHAR(c=<MCL)

UNIVARCHAR(c/2)

NVARCHAR(c>MCL)

UNITEXT

Sorgen Sie beim Download dafür, dass die Werte nicht zu lang sind.

REAL

REAL

SMALLDATETIME

DATETIME4

In SQL Anywhere und UltraLite wird SMALLDATETIME als TIMESTAMP implementiert.

In Adaptive Server Enterprise ist DATETIME auf die Minute genau. 29,998 Sekunden oder weniger werden auf die Minute abgerundet, und Werte mit 29,999 Sekunden oder höher werden auf die nächste Minute aufgerundet. In SQL Anywhere oder UltraLite ist SMALLDATETIME auf die Mikrosekunde genau. Für eine einwandfreie Synchronisation in SQL Anywhere oder UltraLite muss SMALLDATETIME auf die Minute gerundet werden. Außerdem muss das Jahr im Bereich von 1753 - 9999 liegen.

SMALLINT

SMALLINT

SMALLMONEY

SMALLMONEY

TEXT

TEXT

TIME

TIME3 oder DATETIME4

Bei Adaptive Server Enterprise sind die TIME-Werte bis auf 1/300 Sekunde genau. Die letzte Ziffer des Sekundenbruchteils ist immer 0, 3 oder 6. Andere Ziffern werden auf eine dieser Ziffern gerundet. Somit werden 0 und 1 zu 0; 2, 3 und 4 werden zu 3; 5, 6, 7 und 8 werden zu 6 und 9 wird zu 10. Bei einem Download behält SQL Anywhere die Originalwerte von Adaptive Server Enterprise bei, aber bei einem Upload können die Werte geringfügig von den Originalwerten abweichen. Falls TIME für einen Primärschlüssel verwendet wird, könnte die Konfliktlösung fehlschlagen. Für eine einwandfreie Synchronisation von TIME können Sie die Sekundenbruchteile auf 10 Millisekunden runden.

TIMESTAMP

DATETIME

Bei Adaptive Server Enterprise sind die DATETIME-Werte bis auf 1/300 Sekunde genau. Die letzte Ziffer des Sekundenbruchteils ist immer 0, 3 oder 6. Andere Ziffern werden auf eine dieser Ziffern gerundet. Somit werden 0 und 1 zu 0; 2, 3 und 4 werden zu 3; 5, 6, 7 und 8 werden zu 6 und 9 wird zu 10.

Bei einem Download behält SQL Anywhere die Originalwerte von Adaptive Server Enterprise bei, aber bei einem Upload können die Werte geringfügig von den Originalwerten abweichen.

Falls DATETIME für einen Primärschlüssel verwendet wird, könnte die Konfliktlösung fehlschlagen. Für eine einwandfreie Synchronisation von DATETIME können Sie die Sekundenbruchteile auf 10 Millisekunden runden. Außerdem muss das Jahr im Bereich von 1753 - 9999 liegen.

TINYINT

TINYINT

UNIQUEIDENTIFIER

CHAR(36)

UNIQUEIDENTIFIERSTR

CHAR(36)

UNIQUEIDENTIFIERSTR darf nicht verwendet werden. Verwenden Sie stattdessen UNIQUEIDENTIFIER.

UNSIGNED BIGINT

NUMERIC(20)1 oder UNSIGNED BIGINT2

UNSIGNED INTEGER

UNSIGNED INT

UNSIGNED SMALLINT

UNSIGNED SMALLINT

UNSIGNED TINYINT

TINYINT

VARBINARY(n=<MCL)

VARBINARY

VARBINARY(n>MCL)

IMAGE

VARBIT(n=<MCL)

VARCHAR(n)

VARBIT(n>MCL)

TEXT

VARCHAR(n=<MCL)

VARCHAR(n)

VARCHAR(n>MCL)

TEXT

XML

TEXT

1 Gilt nur für Adaptive Server Enterprise vor Version 15.0.

2 Gilt nur für Adaptive Server Enterprise ab Version 15.0.

3 Gilt nur für Adaptive Server Enterprise ab Version 12.5.1.

4 Gilt nur für Adaptive Server Enterprise vor Version 12.5.1.

Zuordnung zu entfernten SQL Anywhere- oder UltraLite-Datentypen

Die folgende Tabelle zeigt, wie konsolidierte Adaptive Server Enterprise-Datentypen entfernten SQL Anywhere- und UltraLite-Datentypen zugeordnet werden. Zum Beispiel sollte eine Spalte, die in der konsolidierten Datenbank den Datentyp DOUBLE PRECISION hat, in der entfernten Datenbank den Typ DOUBLE haben.

Datentyp in Adaptive Server Enterprise Datentypen in SQL Anywhere oder UltraLite Hinweise

BIGINT1

BIGINT

BINARY(n)

BINARY(n)

BIT

BIT

CHAR(n)

VARCHAR(n)

Es gibt keine Äquivalenz zwischen SQL Anywhere CHAR/NCHAR und Adaptive Server Enterprise CHAR/NCHAR. SQL Anywhere CHAR/NCHAR ist äquivalent zu VARCHAR/NVARCHAR. Sie sollten CHAR/NCHAR nicht in konsolidierten Datenbankspalten verwenden, die synchronisiert sind. Falls Sie Nicht-SQL Anywhere CHAR/NCHAR verwenden müssen, führen Sie den MobiLink-Server mit der Option -b aus.

DATE

DATE

Für SQL Anywhere und UltraLite muss die Zeitangabe das Format 00:00:00 haben.

DATETIME

DATETIME

Bei Adaptive Server Enterprise sind die DATETIME-Werte bis auf 1/300 Sekunde genau. Die letzte Ziffer des Sekundenbruchteils ist immer 0, 3 oder 6. Andere Ziffern werden auf eine dieser Ziffern gerundet. Somit werden 0 und 1 zu 0; 2, 3 und 4 werden zu 3; 5, 6, 7 und 8 werden zu 6 und 9 wird zu 10.

Bei einem Download behält SQL Anywhere die Originalwerte von Adaptive Server Enterprise bei, aber bei einem Upload können die Werte geringfügig von den Originalwerten abweichen. Die Konfliktlösung kann fehlschlagen. Für eine einwandfreie Synchronisation von DATETIME können Sie die Sekundenbruchteile auf 10 Millisekunden runden. Außerdem muss das Jahr im Bereich von 1753 - 9999 liegen.

DECIMAL(p,s)

DECIMAL(p,s)

DOUBLE PRECISION

DOUBLE

FLOAT(p)

FLOAT(p)

IMAGE

LONG BINARY

INT

INT

MONEY

MONEY

NCHAR(n)

VARCHAR(n)

Adaptive Server Enterprise NCHAR und NVARCHAR speichern landesspezifische Mehrbyte-Zeichenfolgen, die sich von SQL Anywhere NCHAR und NVARCHAR unterscheiden. Verwenden Sie in einer Mehrbyte-Umgebung SQL Anywhere oder UltraLite VARCHAR.

NUMERIC(p,s)

NUMERIC(p,s)

NVARCHAR(n)

VARCHAR(n)

Adaptive Server Enterprise NCHAR und NVARCHAR speichern landesspezifische Mehrbyte-Zeichenfolgen, die sich von SQL Anywhere NCHAR und NVARCHAR unterscheiden. Verwenden Sie in einer Mehrbyte-Umgebung SQL Anywhere oder UltraLite VARCHAR.

REAL

REAL

SMALLDATETIME

SMALLDATETIME

In SQL Anywhere und UltraLite wird SMALLDATETIME als TIMESTAMP implementiert.

In Adaptive Server Enterprise ist SMALLDATETIME auf die Minute genau. 29,998 Sekunden oder weniger werden auf die Minute abgerundet, und Werte mit 29,999 Sekunden oder höher werden auf die nächste Minute aufgerundet. In SQL Anywhere oder UltraLite ist SMALLDATETIME auf die Mikrosekunde genau. Für eine einwandfreie Synchronisation in SQL Anywhere oder UltraLite muss SMALLDATETIME auf die Minute gerundet werden. Außerdem muss das Jahr im Bereich von 1900 - 2078 liegen.

SMALLINT

SMALLINT

SMALLMONEY

SMALLMONEY

TEXT

LONG VARCHAR

TIME

TIME

Bei Adaptive Server Enterprise sind die TIME-Werte bis auf 1/300 Sekunde genau. Die letzte Ziffer des Sekundenbruchteils ist immer 0, 3 oder 6. Andere Ziffern werden auf eine dieser Ziffern gerundet. Somit werden 0 und 1 zu 0; 2, 3 und 4 werden zu 3; 5, 6, 7 und 8 werden zu 6 und 9 wird zu 10.

Bei einem Download behält SQL Anywhere die Originalwerte von Adaptive Server Enterprise bei, aber bei einem Upload können die Werte geringfügig von den Originalwerten abweichen. Die Konfliktlösung kann fehlschlagen. Für eine einwandfreie Synchronisation von TIME sollten Sie die Sekundenbruchteile auf 10 Millisekunden runden.

TIMESTAMP

VARBINARY(8)

In Adaptive Server Enterprise ist TIMESTAMP ein Binärzähler, der jeweils nach einer Änderung einer Zeile erhöht wird. Jede Tabelle kann daher eine TIMESTAMP-Spalte enthalten, und es ist nicht sinnvoll, sie zu synchronisieren. Wenn sie in einer Synchronisation enthalten sein muss, sollten Sie sie in SQL Anywhere oder UltraLite dem Datentyp VARBINARY(8) zuordnen.

Es ist nicht möglich, diese Zeitstempel-Spalte explizit einzufügen oder zu aktualisieren, da sie vom Server verwaltet wird. Berücksichtigen Sie dies, wenn Sie Uploadskripten für Tabellen implementieren, die solche Spalten enthalten.

TINYINT

TINYINT

UNSIGNED BIGINT1

UNSIGNED BIGINT

UNSIGNED INT1

UNSIGNED INT

UNSIGNED SMALLINT1

UNSIGNED SMALLINT

VARBINARY(n)

VARBINARY(n)

VARCHAR(n)

VARCHAR(n)

UNICHAR(n)

NVARCHAR(n)

In UltraLite nicht verfügbar.

UNITEXT1

LONG NVARCHAR

In UltraLite nicht verfügbar.

UNIVARCHAR(n)

NVARCHAR(n)

In UltraLite nicht verfügbar.

1 Gilt nur für Adaptive Server Enterprise vor Version 15.0.