次の表は、SQL Anywhere および Ultra Light のリモートデータ型がどのように Oracle の統合データ型にマッピングされるのかを示します。たとえば、リモートデータベースの BIT 型のカラムは、統合データベースでは NUMBER 型である必要があります。
SQL Anywhere または Ultra Light のデータ型 | Oracle データ型 | 説明 |
---|---|---|
BIGINT |
NUMBER(20) |
|
BINARY(n<=2000) |
RAW(n) |
|
BINARY(n>2000) |
BLOB |
Oracle の値が SQL Anywhere または Ultra Light の値より長い可能性があるので、ダウンロード時には値が大きすぎないことを確認してください。 |
BIT |
NUMBER(1) |
|
CHAR(n<=4000) |
VARCHAR2(n byte) |
Oracle の VARCHAR2 を使用すると、バイト数または文字数の最大値を指定できます。VARCHAR2 データの最大長は 4000 バイトです。文字数を指定する場合は、データの最大長が 4000 バイトを超えないようにしてください。 |
CHAR(n>4000) |
CLOB |
Oracle の値が SQL Anywhere または Ultra Light の値より長い可能性があるので、ダウンロード時には値が大きすぎないことを確認してください。 |
DATE |
DATE2 または TIMESTAMP |
Oracle の DATE データ型には小数点以下の秒がないので、このデータ型を使用すると SQL Anywhere または Ultra Light の小数点以下の秒を保持できません。問題を回避するには、小数点以下の秒を使用しないでください。年は、1 ~ 9999 の範囲内である必要があります。 Interactive SQL ユーティリティを使用する場合は、Return_date_time_as_string オプションをオフにしてから、SQL 文を実行します。 |
DATETIME |
DATE2 または TIMESTAMP |
Oracle の DATE データ型には小数点以下の秒がないので、このデータ型を使用すると SQL Anywhere または Ultra Light の小数点以下の秒を保持できません。問題を回避するには、小数点以下の秒を使用しないでください。年は、1 ~ 9999 の範囲内である必要があります。 Interactive SQL ユーティリティを使用する場合は、Return_date_time_as_string オプションをオフにしてから、SQL 文を実行します。 |
DECIMAL(p<=38,s) |
NUMBER(p, 0<=s<=38) |
SQL Anywhere の DECIMAL では、p は 1 ~ 127 で、s は常に p 以下です。Oracle の NUMBER では、p は 1 ~ 38 で、s は -84 ~ 127 です。同期させるには、Oracle の NUMBER の位取りを 0 ~ 38 に制限する必要があります。 |
DECIMAL(p>38,s) |
Oracle には対応するデータ型がありません。 |
|
DOUBLE |
DOUBLE PRECISION または BINARY_DOUBLE1 |
Oracle Database 10g の BINARY_FLOAT と BINARY_DOUBLE の特別な値 INF、-INF、NAN は、SQL Anywhere または Ultra Light とは同期できません。 |
FLOAT(p) |
FLOAT(p) |
|
IMAGE |
BLOB |
Oracle の値が SQL Anywhere または Ultra Light の値より長い可能性があるので、ダウンロード時には値が大きすぎないことを確認してください。 |
INTEGER |
INT |
|
LONG BINARY |
BLOB |
Oracle の値が SQL Anywhere または Ultra Light の値より長い可能性があるので、ダウンロード時には値が大きすぎないことを確認してください。 |
LONG NVARCHAR |
NCLOB |
Oracle の CLOB と NCLOB は、最大で 4G のデータを保持できます。SQL Anywhere の LONG VARCHAR と LONG NVARCHAR が保持できるのは 2G までです。 Oracle の値が SQL Anywhere または Ultra Light の値より長い可能性があるので、ダウンロード時には値が大きすぎないことを確認してください。 |
LONG VARBIT |
CLOB |
Oracle の値が SQL Anywhere または Ultra Light の値より長い可能性があるので、ダウンロード時には値が大きすぎないことを確認してください。 |
LONG VARCHAR |
CLOB |
Oracle の CLOB と NCLOB は、最大で 4G のデータを保持できます。SQL Anywhere の LONG VARCHAR と LONG NVARCHAR が保持できるのは 2G までです。 Oracle の値が SQL Anywhere または Ultra Light の値より長い可能性があるので、ダウンロード時には値が大きすぎないことを確認してください。 |
MONEY |
NUMBER(19,4) |
|
NCHAR(c) |
NVARCHAR2(c char) または NCLOB |
SQL Anywhere の NCHAR と Oracle の NVARCHAR2 では、サイズは Unicode 文字の最大文字数を示します。Oracle の NVARCHAR2 のデータ長が 4000 バイトを超えることはできません。文字サイズから最大バイト長を計算することは困難です。一般的に、サイズが 1000 を超える場合は NCLOB に、そうでない場合は NVARCHAR2 に、それぞれマッピングします。 |
NTEXT |
NCLOB |
Oracle の NCLOB は、最大で 4G のデータを保持できます。SQL Anywhere の NTEXT (または LONG NVARCHAR) が保持できるのは 2G までです。 Oracle の値が SQL Anywhere または Ultra Light の値より長い可能性があるので、ダウンロード時には値が大きすぎないことを確認してください。 |
NUMERIC(p<=38,s) |
NUMBER(p, 0<=s<=38) |
SQL Anywhere の NUMERIC では、p は 1 ~ 127 であり、s は常に p 以下です。Oracle の NUMBER では、p は 1 ~ 38 であり、s は -84 ~ 127 です。同期させるには、Oracle の NUMBER の位取りを 0 ~ 38 に制限する必要があります。 |
NUMERIC(p>38,s) |
Oracle には対応するデータ型がありません。 |
|
NVARCHAR |
NVARCHAR2(c char) または NCLOB |
SQL Anywhere の NCHAR と Oracle の NVARCHAR2 では、サイズは Unicode 文字の最大文字数を示します。Oracle の NVARCHAR2 のデータ長が 4000 バイトを超えることはできません。文字サイズから最大バイト長を計算することは困難です。一般的に、サイズが 1000 を超える場合は NCLOB に、そうでない場合は NVARCHAR2 に、それぞれマッピングします。 |
REAL |
REAL または BINARY_FLOAT1 |
Oracle Database 10g の BINARY_FLOAT と BINARY_DOUBLE の特別な値 INF、-INF、NAN は、SQL Anywhere または Ultra Light とは同期できません。 |
SMALLDATETIME |
DATE2 または TIMESTAMP |
Oracle の DATE データ型には小数点以下の秒がないので、このデータ型を使用すると SQL Anywhere または Ultra Light の小数点以下の秒を保持できません。問題を回避するには、小数点以下の秒を使用しないでください。年は、1 ~ 9999 の範囲内である必要があります。 |
SMALLINT |
NUMBER(5) |
|
SMALLMONEY |
NUMBER(10,4) |
|
ST_GEOMETRY |
SDO_GEOMETRY |
|
TEXT |
CLOB |
Oracle の CLOB は、最大で 4G のデータを保持できます。SQL Anywhere の TEXT (または LONG VARCHAR) が保持できるのは 2G までです。 Oracle の値が SQL Anywhere または Ultra Light の値より長い可能性があるので、ダウンロード時には値が大きすぎないことを確認してください。 |
TIME |
DATE2 または TIMESTAMP |
Oracle の DATE データ型には小数点以下の秒がないので、このデータ型を使用すると SQL Anywhere または Ultra Light の小数点以下の秒を保持できません。問題を回避するには、小数点以下の秒を使用しないでください。 Interactive SQL ユーティリティを使用する場合は、Return_date_time_as_string オプションをオフにしてから、SQL 文を実行します。 |
TIMESTAMP |
DATE2 または TIMESTAMP |
Oracle の DATE データ型には小数点以下の秒がないので、このデータ型を使用すると SQL Anywhere または Ultra Light の小数点以下の秒を保持できません。問題を回避するには、小数点以下の秒を使用しないでください。年は、1 ~ 9999 の範囲内である必要があります。 Interactive SQL ユーティリティを使用する場合は、Return_date_time_as_string オプションをオフにしてから、SQL 文を実行します。 |
TIMESTAMP WITH TIME ZONE | TIMESTAMP WITH TIME ZONE | |
TINYINT |
NUMBER(3) |
ダウンロードの場合、Oracle の値は負でない必要があります。 |
UNSIGNED BIGINT |
NUMBER(20) |
ダウンロードの場合、Oracle の値は負でない必要があります。 |
UNSIGNED INTEGER |
NUMBER(11) |
ダウンロードの場合、Oracle の値は負でない必要があります。 |
UNSIGNED SMALLINT |
NUMBER(5) |
ダウンロードの場合、Oracle の値は負でない必要があります。 |
UNSIGNED TINYINT |
NUMBER(3) |
ダウンロードの場合、Oracle の値は負でない必要があります。 |
UNIQUEIDENTIFIER |
CHAR(36) |
|
UNIQUEIDENTIFIERSTR |
CHAR(36) |
UNIQUEIDENTIFIERSTR の Oracle での使用はおすすめしません。代わりに UNIQUEIDENTIFIER を使用してください。 |
VARBINARY(n<=2000) |
RAW(n) |
|
VARBINARY(n>2000) |
BLOB |
Oracle の値が SQL Anywhere または Ultra Light の値より長い可能性があるので、ダウンロード時には値が大きすぎないことを確認してください。 |
VARBIT(n<=4000) |
VARCHAR2(n byte) |
|
VARBIT(n>4000) |
CLOB |
Oracle の値が SQL Anywhere または Ultra Light の値より長い可能性があるので、ダウンロード時には値が大きすぎないことを確認してください。 |
VARCHAR(n<=4000) |
VARCHAR2(n byte) |
Oracle の VARCHAR2 を使用すると、バイト数または文字数の最大値を指定できます。VARCHAR2 データの最大長は 4000 バイトです。文字数を指定する場合は、データの最大長が 4000 バイトを超えないようにしてください。 |
VARCHAR(n>4000) |
CLOB |
Oracle の値が SQL Anywhere または Ultra Light の値より長い可能性があるので、ダウンロード時には値が大きすぎないことを確認してください。 |
XML |
XMLTYPE |
Oracle データベースサーバでは、XMLTYPE データの構文はチェックされますが、SQL Anywhere の構文はチェックされません。 Ultra Light では使用できません。 Oracle の XMLTYPE データ型を参照してください。 |
1 Oracle Database 10g 以降にのみ該当します。
2 Oracle バージョン 8i 以降にのみ該当します。
LONG データ型は、Oracle 8、8i、9i では使用されなくなりました。
次の表は、Oracle の統合データ型がどのように SQL Anywhere および Ultra Light のリモートデータ型にマッピングされるのかを示します。たとえば、統合データベースの LONG 型のカラムは、リモートデータベースでは LONG VARCHAR 型である必要があります。
Oracle データ型 | SQL Anywhere または Ultra Light のデータ型 | 説明 |
---|---|---|
BFILE |
LONG BINARY |
ダウンロードのみ。 Oracle の値が SQL Anywhere または Ultra Light の値より長い可能性があるので、ダウンロード時には値が大きすぎないことを確認してください。 |
BINARY_DOUBLE |
DOUBLE |
BINARY_FLOAT の特別な値 INF、-INF、NAN は、SQL Anywhere または Ultra Light とは同期できません。Oracle の FLOAT と DOUBLE の精度は、SQL Anywhere と Ultra Light のものとは異なります。精度によっては、データの値が変わる可能性があります。 |
BINARY_FLOAT |
REAL |
BINARY_FLOAT の特別な値 INF、-INF、NAN は、SQL Anywhere または Ultra Light とは同期できません。Oracle の FLOAT と DOUBLE の精度は、SQL Anywhere と Ultra Light のものとは異なります。精度によっては、データの値が変わる可能性があります。 |
BLOB |
LONG BINARY |
Oracle の値が SQL Anywhere または Ultra Light の値より長い可能性があるので、ダウンロード時には値が大きすぎないことを確認してください。 |
CHAR(n byte) |
VARCHAR(n) |
SQL Anywhere の CHAR は、Oracle の CHAR と同等ではありません。SQL Anywhere の CHAR に対応するのは VARCHAR です。同期される統合データベースのカラムでは、CHAR/NCHAR を使用しないでください。SQL Anywhere 以外の CHAR を使用する必要がある場合は、-b オプションを指定して Mobile Link サーバを実行してください。 SQL Anywhere または Ultra Light の値が Oracle の値より長い可能性があるので、アップロード時には値が大きすぎないことを確認してください。 |
CLOB |
LONG VARCHAR |
Oracle の値が SQL Anywhere または Ultra Light の値より長い可能性があるので、ダウンロード時には値が大きすぎないことを確認してください。 |
DATE |
TIMESTAMP |
年は、1 ~ 9999 の範囲内である必要があります。 |
INTERVAL YEAR(year_precision) TO MONTH |
SQL Anywhere または Ultra Light には対応するデータ型がありません。 |
|
INTERVAL DAY(day_precision) TO SECOND(p) |
SQL Anywhere または Ultra Light には対応するデータ型がありません。 |
|
LONG |
LONG VARCHAR |
|
LONG RAW |
LONG BINARY |
|
NCHAR(c char) |
NVARCHAR(c) |
SQL Anywhere の NCHAR は、Oracle の NCHAR と同等ではありません。SQL Anywhere の NCHAR に対応するのは NVARCHAR です。同期される統合データベースのカラムでは、NCHAR を使用しないでください。SQL Anywhere 以外の NCHAR を使用する必要がある場合は、-b オプションを指定して Mobile Link サーバを実行してください。 SQL Anywhere または Ultra Light の値が Oracle の値より長い可能性があるので、アップロード時には値が大きすぎないことを確認してください。 |
NCLOB |
LONG NVARCHAR |
Ultra Light では使用できません。 Oracle の値が SQL Anywhere または Ultra Light の値より長い可能性があるので、ダウンロード時には値が大きすぎないことを確認してください。 |
NUMBER(p,s) |
NUMBER(p,s) |
SQL Anywhere の NUMBER では、p は 1 ~ 127 であり、s は常に p 以下です。Oracle の NUMBER では、p は 1 ~ 38 であり、s は -84 ~ 127 です。同期させるには、Oracle の NUMBER の位取りを 0 ~ 38 にしてください。 |
NVARCHAR2(c char) |
NVARCHAR(c) |
Ultra Light では使用できません。 SQL Anywhere または Ultra Light の値が Oracle の値より長い可能性があるので、アップロード時には値が大きすぎないことを確認してください。 |
RAW |
BINARY |
SQL Anywhere または Ultra Light の値が Oracle の値より長い可能性があるので、アップロード時には値が大きすぎないことを確認してください。 |
ROWID |
VARCHAR(64) |
UROWID と ROWID は読み込み専用なので、同期対象になることはほとんどありません。 |
SDO_GEOMETRY |
ST_GEOMETRY |
|
TIMESTAMP(p<=6) |
TIMESTAMP |
p<6 の場合、SQL Anywhere または Ultra Light の値が同じ精度になっていることを確認する必要があります。そうしないと、競合を検出できなかったり、ローの重複が発生したりする可能性が生じます。年は、1 ~ 9999 の範囲内である必要があります。 |
TIMESTAMP(p>6) |
SQL Anywhere または Ultra Light には対応するデータ型がありません。 |
|
TIMESTAMP(p) WITH LOCAL TIME ZONE |
SQL Anywhere または Ultra Light には対応するデータ型がありません。 |
|
TIMESTAMP(p<=6) WITH TIME ZONE |
TIMESTAMP WITH TIME ZONE | |
TIMESTAMP(p) WITH TIME ZONE |
SQL Anywhere または Ultra Light には対応するデータ型がありません。 |
|
UROWID |
VARCHAR(64) |
UROWID と ROWID は読み込み専用なので、同期対象になることはほとんどありません。 |
VARCHAR2(n byte) |
VARCHAR(n) |
SQL Anywhere または Ultra Light の値が Oracle の値より長い可能性があるので、アップロード時には値が大きすぎないことを確認してください。 |
XMLTYPE |
XML、LONG VARCHAR、または VARCHAR(n) |
Oracle データベースサーバでは、XMLTYPE データの構文がチェックされます。SQL Anywhere では、XML データの内容がチェックされず、XML データは VARCHAR データとして処理されます。 Oracle の XMLTYPE データ型を参照してください。 |
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |