Die folgende Tabelle zeigt, wie entfernte SQL Anywhere- und UltraLite-Datentypen konsolidierten Oracle-Datentypen zugeordnet werden. Zum Beispiel sollte eine Spalte, die in der entfernten Datenbank den Datentyp BIT hat, in der konsolidierten Datenbank den Typ NUMBER haben.
Datentyp in SQL Anywhere oder UltraLite | Datentyp in Oracle | Hinweise |
---|---|---|
BIGINT |
NUMBER(20) |
|
BINARY(n<=2000) |
RAW(n) |
|
BINARY(n>2000) |
BLOB |
Oracle-Werte können länger sein als SQL Anywhere- oder UltraLite-Werte. Stellen Sie daher sicher, dass beim Download keine zu großen Werte auftauchen. |
BIT |
NUMBER(1) |
|
CHAR(n<=4000) |
VARCHAR2(n byte) |
Oracle VARCHAR2 ermöglicht Ihnen, die Höchstzahl von Bytes oder Zeichen festzulegen. Die maximale Länge von VARCHAR2-Daten beträgt 4000 Bytes. Falls Sie die Anzahl der Zeichen festlegen, müssen Sie sicherstellen, dass die maximale Datenlänge nicht über 4000 Byte beträgt. |
CHAR(n>4000) |
CLOB |
Oracle-Werte können länger sein als SQL Anywhere- oder UltraLite-Werte. Stellen Sie daher sicher, dass beim Download keine zu großen Werte auftauchen. |
DATE |
DATE2 oder TIMESTAMP |
Sekundenbruchteile von SQL Anywhere oder UltraLite können nicht beibehalten werden, wenn ein Oracle DATE-Datentyp verwendet wird, der nicht über Sekundenbruchteile verfügt. Um Probleme zu vermeiden, sollten Sie keine Sekundenwerte mit Bruchteilen verwenden. Das Jahr muss im Bereich von 1 - 9999 liegen. Wenn Sie das Dienstprogramm Interactive SQL verwenden, deaktivieren Sie die Option Return_date_time_as_string, bevor die SQL-Anweisung ausgeführt wird. |
DATETIME |
DATE2 oder TIMESTAMP |
Sekundenbruchteile von SQL Anywhere oder UltraLite können nicht beibehalten werden, wenn ein Oracle DATE-Datentyp verwendet wird, der nicht über Sekundenbruchteile verfügt. Um Probleme zu vermeiden, sollten Sie keine Sekundenwerte mit Bruchteilen verwenden. Das Jahr muss im Bereich von 1 - 9999 liegen. Wenn Sie das Dienstprogramm Interactive SQL verwenden, deaktivieren Sie die Option Return_date_time_as_string, bevor die SQL-Anweisung ausgeführt wird. |
DECIMAL(p<=38,s) |
NUMBER(p, 0<=s<=38) |
Beim SQL Anywhere-Datentyp DECIMAL liegt p im Bereich von 1 bis 127 und s ist immer kleiner oder gleich p. Beim Oracle-Datentyp NUMBER liegt p im Bereich von 1 bis 38 und s im Bereich von -84 bis 127. Für die Synchronisation muss der Bereich des Oracle-Datentyps NUMBER auf 0 bis 38 eingeschränkt werden. |
DECIMAL(p>38,s) |
Es gibt keinen entsprechenden Datentyp in Oracle. |
|
DOUBLE |
DOUBLE PRECISION oder BINARY_DOUBLE1 |
Die speziellen Werte INF, -INF und NAN der Oracle Database 10g-Datentypen BINARY_FLOAT und BINARY_DOUBLE können nicht mit SQL Anywhere oder UltraLite synchronisiert werden. |
FLOAT(p) |
FLOAT(p) |
|
IMAGE |
BLOB |
Oracle-Werte können länger sein als SQL Anywhere- oder UltraLite-Werte. Stellen Sie daher sicher, dass beim Download keine zu großen Werte auftauchen. |
INTEGER |
INT |
|
LONG BINARY |
BLOB |
Oracle-Werte können länger sein als SQL Anywhere- oder UltraLite-Werte. Stellen Sie daher sicher, dass beim Download keine zu großen Werte auftauchen. |
LONG NVARCHAR |
NCLOB |
Oracle CLOB und NCLOB können bis zu 4 GB Daten enthalten. SQL Anywhere LONG VARCHAR und LONG NVARCHAR können nur bis zu 2 GB Daten enthalten. Oracle-Werte können länger sein als SQL Anywhere- oder UltraLite-Werte. Stellen Sie daher sicher, dass beim Download keine zu großen Werte auftauchen. |
LONG VARBIT |
CLOB |
Oracle-Werte können länger sein als SQL Anywhere- oder UltraLite-Werte. Stellen Sie daher sicher, dass beim Download keine zu großen Werte auftauchen. |
LONG VARCHAR |
CLOB |
Oracle CLOB und NCLOB können bis zu 4 GB Daten enthalten. SQL Anywhere LONG VARCHAR und LONG NVARCHAR können nur bis zu 2 GB Daten enthalten. Oracle-Werte können länger sein als SQL Anywhere- oder UltraLite-Werte. Stellen Sie daher sicher, dass beim Download keine zu großen Werte auftauchen. |
MONEY |
NUMBER(19,4) |
|
NCHAR(c) |
NVARCHAR2(c char) oder NCLOB |
Die Größe des SQL Anywhere-Datentyps NCHAR und des Oracle-Datentyps NVARCHAR2 zeigt die Höchstzahl von Unicode-Zeichen an. Die Länge des Oracle-Datentyps NVARCHAR2 kann nicht mehr als 4000 Byte betragen. Es ist schwierig, die maximale Bytelänge aus der Zeichengröße zu berechnen. Allgemein gilt: Bei einer Größe von über 1000 sollte zu NCLOB, andernfalls zu NVARCHAR2 zugeordnet werden. |
NTEXT |
NCLOB |
Oracle NCLOB können bis zu 4 GB Daten enthalten. Der SQL Anywhere-Datentyp NTEXT (oder LONG NVARCHAR) kann nur bis zu 2 GB Daten enthalten. Oracle-Werte können länger sein als SQL Anywhere- oder UltraLite-Werte. Stellen Sie daher sicher, dass beim Download keine zu großen Werte auftauchen. |
NUMERIC(p<=38,s) |
NUMBER(p, 0<=s<=38) |
Beim SQL Anywhere-Datentyp NUMERIC liegt p im Bereich von 1 bis 127 und s ist immer kleiner oder gleich p. Beim Oracle-Datentyp NUMBER liegt p im Bereich von 1 bis 38 und s im Bereich von -84 bis 127. Für die Synchronisation muss der Bereich des Oracle-Datentyps NUMBER auf 0 bis 38 eingeschränkt werden. |
NUMERIC(p>38,s) |
Es gibt keinen entsprechenden Datentyp in Oracle. |
|
NVARCHAR |
NVARCHAR2(c char) oder NCLOB |
Die Größe des SQL Anywhere-Datentyps NCHAR und des Oracle-Datentyps NVARCHAR2 zeigt die Höchstzahl von Unicode-Zeichen an. Die Länge des Oracle-Datentyps NVARCHAR2 kann nicht mehr als 4000 Byte betragen. Es ist schwierig, die maximale Bytelänge aus der Zeichengröße zu berechnen. Allgemein gilt: Bei einer Größe von über 1000 sollte zu NCLOB, andernfalls zu NVARCHAR2 zugeordnet werden. |
REAL |
REAL oder BINARY_FLOAT1 |
Die speziellen Werte INF, -INF und NAN der Oracle Database 10g-Datentypen BINARY_FLOAT und BINARY_DOUBLE können nicht mit SQL Anywhere oder UltraLite synchronisiert werden. |
SMALLDATETIME |
DATE2 oder TIMESTAMP |
Sekundenbruchteile von SQL Anywhere oder UltraLite können nicht beibehalten werden, wenn ein Oracle DATE-Datentyp verwendet wird, der nicht über Sekundenbruchteile verfügt. Um Probleme zu vermeiden, sollten Sie keine Sekundenwerte mit Bruchteilen verwenden. Das Jahr muss im Bereich von 1 - 9999 liegen. |
SMALLINT |
NUMBER(5) |
|
SMALLMONEY |
NUMBER(10,4) |
|
ST_GEOMETRY |
SDO_GEOMETRY |
|
TEXT |
CLOB |
Oracle CLOB kann bis zu 4 GB Daten enthalten. Der SQL Anywhere-Datentyp TEXT (oder LONG VARCHAR) kann nur bis zu 2 GB Daten enthalten. Oracle-Werte können länger sein als SQL Anywhere- oder UltraLite-Werte. Stellen Sie daher sicher, dass beim Download keine zu großen Werte auftauchen. |
TIME |
DATE2 oder TIMESTAMP |
Sekundenbruchteile von SQL Anywhere oder UltraLite können nicht beibehalten werden, wenn ein Oracle DATE-Datentyp verwendet wird, der nicht über Sekundenbruchteile verfügt. Um Probleme zu vermeiden, sollten Sie keine Sekundenwerte mit Bruchteilen verwenden. Wenn Sie das Dienstprogramm Interactive SQL verwenden, deaktivieren Sie die Option Return_date_time_as_string, bevor die SQL-Anweisung ausgeführt wird. |
TIMESTAMP |
DATE2 oder TIMESTAMP |
Sekundenbruchteile von SQL Anywhere oder UltraLite können nicht beibehalten werden, wenn ein Oracle DATE-Datentyp verwendet wird, der nicht über Sekundenbruchteile verfügt. Um Probleme zu vermeiden, sollten Sie keine Sekundenwerte mit Bruchteilen verwenden. Das Jahr muss im Bereich von 1 - 9999 liegen. Wenn Sie das Dienstprogramm Interactive SQL verwenden, deaktivieren Sie die Option Return_date_time_as_string, bevor die SQL-Anweisung ausgeführt wird. |
TIMESTAMP WITH TIME ZONE | TIMESTAMP WITH TIME ZONE | |
TINYINT |
NUMBER(3) |
Bei Downloads dürfen Oracle-Werte nicht negativ sein. |
UNSIGNED BIGINT |
NUMBER(20) |
Bei Downloads dürfen Oracle-Werte nicht negativ sein. |
UNSIGNED INTEGER |
NUMBER(11) |
Bei Downloads dürfen Oracle-Werte nicht negativ sein. |
UNSIGNED SMALLINT |
NUMBER(5) |
Bei Downloads dürfen Oracle-Werte nicht negativ sein. |
UNSIGNED TINYINT |
NUMBER(3) |
Bei Downloads dürfen Oracle-Werte nicht negativ sein. |
UNIQUEIDENTIFIER |
CHAR(36) |
|
UNIQUEIDENTIFIERSTR |
CHAR(36) |
Es wird empfohlen, UNIQUEIDENTIFIERSTR nicht für Oracle zu verwenden. Verwenden Sie stattdessen UNIQUEIDENTIFIER. |
VARBINARY(n<=2000) |
RAW(n) |
|
VARBINARY(n>2000) |
BLOB |
Oracle-Werte können länger sein als SQL Anywhere- oder UltraLite-Werte. Stellen Sie daher sicher, dass beim Download keine zu großen Werte auftauchen. |
VARBIT(n<=4000) |
VARCHAR2(n byte) |
|
VARBIT(n>4000) |
CLOB |
Oracle-Werte können länger sein als SQL Anywhere- oder UltraLite-Werte. Stellen Sie daher sicher, dass beim Download keine zu großen Werte auftauchen. |
VARCHAR(n<=4000) |
VARCHAR2(n byte) |
Oracle VARCHAR2 ermöglicht Ihnen, die Höchstzahl von Bytes oder Zeichen festzulegen. Die maximale Länge von VARCHAR2-Daten beträgt 4000 Bytes. Falls Sie die Anzahl der Zeichen festlegen, müssen Sie sicherstellen, dass die maximale Datenlänge nicht über 4000 Byte beträgt. |
VARCHAR(n>4000) |
CLOB |
Oracle-Werte können länger sein als SQL Anywhere- oder UltraLite-Werte. Stellen Sie daher sicher, dass beim Download keine zu großen Werte auftauchen. |
XML |
XMLTYPE |
Der Oracle-Datenbankserver überprüft die Syntax der XMLTYPE-Daten, SQL Anywhere dagegen nicht. In UltraLite nicht verfügbar. Siehe XMLTYPE-Datentyp in Oracle. |
1 Gilt nur für Oracle Database 10g oder höher.
2 Gilt nur für Oracle-Version 8i.
Die LONG-Datentypen werden in Oracle 8, 8i und 9i nicht mehr unterstützt.
Die folgende Tabelle zeigt, wie konsolidierte Oracle-Datentypen entfernten SQL Anywhere- oder UltraLite-Datentypen zugeordnet werden. Zum Beispiel sollte eine Spalte, die in der konsolidierten Datenbank den Datentyp LONG hat, in der entfernten Datenbank den Typ LONG VARCHAR haben.
Datentyp in Oracle | Datentyp in SQL Anywhere oder UltraLite | Hinweise |
---|---|---|
BFILE |
LONG BINARY |
Nur Download. Oracle-Werte können länger sein als SQL Anywhere- oder UltraLite-Werte. Stellen Sie daher sicher, dass beim Download keine zu großen Werte auftauchen. |
BINARY_DOUBLE |
DOUBLE |
Die speziellen Werte INF, -INF und NAN von BINARY_FLOAT können nicht mit SQL Anywhere oder UltraLite synchronisiert werden. Die Genauigkeit von FLOAT und DOUBLE in Oracle unterscheidet sich von derjenigen in SQL Anywhere und UltraLite. Der Wert der Daten kann sich abhängig von der Genauigkeit ändern. |
BINARY_FLOAT |
REAL |
Die speziellen Werte INF, -INF und NAN von BINARY_FLOAT können nicht mit SQL Anywhere oder UltraLite synchronisiert werden. Die Genauigkeit von FLOAT und DOUBLE in Oracle unterscheidet sich von derjenigen in SQL Anywhere und UltraLite. Der Wert der Daten kann sich abhängig von der Genauigkeit ändern. |
BLOB |
LONG BINARY |
Oracle-Werte können länger sein als SQL Anywhere- oder UltraLite-Werte. Stellen Sie daher sicher, dass beim Download keine zu großen Werte auftauchen. |
CHAR(n byte) |
VARCHAR(n) |
SQL Anywhere CHAR und Oracle CHAR sind nicht äquivalent. SQL Anywhere CHAR ist äquivalent zu VARCHAR. Sie sollten CHAR/NCHAR nicht in konsolidierten Datenbankspalten verwenden, die synchronisiert sind. Falls Sie Nicht-SQL Anywhere CHAR verwenden müssen, führen Sie den MobiLink-Server mit der Option -b aus. SQL Anywhere- oder UltraLite-Werte können länger sein als Oracle-Werte. Stellen Sie daher sicher, dass beim Upload keine zu großen Werte auftauchen. |
CLOB |
LONG VARCHAR |
Oracle-Werte können länger sein als SQL Anywhere- oder UltraLite-Werte. Stellen Sie daher sicher, dass beim Download keine zu großen Werte auftauchen. |
DATE |
TIMESTAMP |
Das Jahr muss im Bereich von 1 - 9999 liegen. |
INTERVAL YEAR(Jahr_Gesamtstellenzahl) TO MONTH |
Es gibt keinen entsprechenden Datentyp in SQL Anywhere oder UltraLite. |
|
INTERVAL DAY(Tag_Gesamtstellenzahl) TO SECOND(p) |
Es gibt keinen entsprechenden Datentyp in SQL Anywhere oder UltraLite. |
|
LONG |
LONG VARCHAR |
|
LONG RAW |
LONG BINARY |
|
NCHAR(c char) |
NVARCHAR(c) |
SQL Anywhere NCHAR und Oracle NCHAR sind nicht äquivalent. SQL Anywhere NCHAR ist äquivalent zu NVARCHAR. Sie sollten NCHAR nicht in konsolidierten Datenbankspalten verwenden, die synchronisiert sind. Falls Sie Nicht-SQL Anywhere NCHAR verwenden müssen, führen Sie den MobiLink-Server mit der Option -b aus. SQL Anywhere- oder UltraLite-Werte können länger sein als Oracle-Werte. Stellen Sie daher sicher, dass beim Upload keine zu großen Werte auftauchen. |
NCLOB |
LONG NVARCHAR |
In UltraLite nicht verfügbar. Oracle-Werte können länger sein als SQL Anywhere- oder UltraLite-Werte. Stellen Sie daher sicher, dass beim Download keine zu großen Werte auftauchen. |
NUMBER(p,s) |
NUMBER(p,s) |
Beim SQL Anywhere-Datentyp NUMBER liegt p im Bereich von 1 bis 127 und s ist immer kleiner oder gleich p. Beim Oracle-Datentyp NUMBER liegt p im Bereich von 1 bis 38 und s im Bereich von -84 bis 127. Für die Synchronisation muss die Anzahl der Dezimalstellen des Oracle-Datentyps NUMBER im Bereich von 0 bis 38 liegen. |
NVARCHAR2(c char) |
NVARCHAR(c) |
In UltraLite nicht verfügbar. SQL Anywhere- oder UltraLite-Werte können länger sein als Oracle-Werte. Stellen Sie daher sicher, dass beim Upload keine zu großen Werte auftauchen. |
RAW |
BINARY |
SQL Anywhere- oder UltraLite-Werte können länger sein als Oracle-Werte. Stellen Sie daher sicher, dass beim Upload keine zu großen Werte auftauchen. |
ROWID |
VARCHAR(64) |
UROWID und ROWID sind schreibgeschützt und werden daher wahrscheinlich nicht synchronisiert. |
SDO_GEOMETRY |
ST_GEOMETRY |
|
TIMESTAMP(p<=6) |
TIMESTAMP |
Wenn p<6 ist, müssen Sie möglicherweise sicherstellen, dass SQL Anywhere- oder UltraLite-Werte die gleiche Gesamtstellenzahl haben. Andernfalls könnte es sein, dass die Konflikterkennung fehlschlägt bzw. dass doppelte Zeilen vorkommen. Das Jahr muss im Bereich von 1 - 9999 liegen. |
TIMESTAMP(p>6) |
Es gibt keinen entsprechenden Datentyp in SQL Anywhere oder UltraLite. |
|
TIMESTAMP(p) WITH LOCAL TIME ZONE |
Es gibt keinen entsprechenden Datentyp in SQL Anywhere oder UltraLite. |
|
TIMESTAMP(p<=6) WITH TIME ZONE |
TIMESTAMP WITH TIME ZONE | |
TIMESTAMP(p) WITH TIME ZONE |
Es gibt keinen entsprechenden Datentyp in SQL Anywhere oder UltraLite. |
|
UROWID |
VARCHAR(64) |
UROWID und ROWID sind schreibgeschützt und werden daher wahrscheinlich nicht synchronisiert. |
VARCHAR2(n byte) |
VARCHAR(n) |
SQL Anywhere- oder UltraLite-Werte können länger sein als Oracle-Werte. Stellen Sie daher sicher, dass beim Upload keine zu großen Werte auftauchen. |
XMLTYPE |
XML, LONG VARCHAR oder VARCHAR( n) |
Der Oracle-Datenbankserver überprüft die Syntax der XMLTYPE-Daten. SQL Anywhere überprüft nicht den Inhalt der XML-Daten und behandelt die XML-Daten als VARCHAR-Daten. Siehe XMLTYPE-Datentyp in Oracle. |
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |