ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Service Bus管理者ガイド
11gリリース1 (11.1.1.7)
B61436-07
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

H XQuery-SQLマッピング参照

この章では、ネイティブ・データ型のサポート、およびOracle XQueryエンジンが生成する、またはサポートするXQueryマッピングについて説明します。

この章の内容は次のとおりです。

Oracle Service Bus XQueryでのこれらのマッピングの使用については、37.9項「XQueryを使用したデータベースへのアクセス」を参照してください。

Oracle Service BusでサポートされているデータベースおよびJDBCドライバの詳細は、次の場所にあるOracle Fusion Middlewareのサポートされるシステム構成を参照してください:

http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html

H.1 IBM DB2/NT 8

この項では、IBM DB2/NT 8についてXQueryエンジンが生成する、またはサポートするデータ型マッピングについて示します。

表H-1 IBM DB2データ型マッピング

DB2データ型 XQuery型

BIGINT

xs:long

BLOB

xs:hexBinary

CHAR

xs:string

CHAR() FOR BIT DATA

xs:hexBinary

CLOB脚注 1 

xs:string

DATE

xs:date

DOUBLE

xs:double

DECIMAL(p,s)脚注 2  (NUMERIC)

xs:decimal (if s > 0), xs:integer (if s = 0)

INTEGER

xs:int

LONG VARCHAR1

xs:string

LONG VARCHAR FOR BIT DATA

xs:hexBinary

REAL

xs:float

SMALLINT

xs:short

TIME脚注 3 

xs:time脚注 4 

TIMESTAMP脚注 5 

xs:dateTime脚注 4

VARCHAR

xs:string脚注 4

VARCHAR() FOR BIT DATA

xs:hexBinary


脚注 1 プロジェクト・リストでのみプッシュ・ダウンされます。

脚注 2 ここで、pは精度(小数点以下および以上の両方を含めた総桁数)で、sは位取り(小数点次の桁数)を表します。

脚注 3 精度は1秒単位です。

脚注 4 TIMEおよびTIMESTAMPの制限のため、値はローカル・タイム・ゾーンに変換されます(タイム・ゾーン情報は削除されます)。

脚注 5 精度はミリ秒に制限されています。

H.2 Microsoft SQL Server

この項では、Microsoft SQL ServerについてXQueryエンジンが生成する、またはサポートするデータ型マッピングについて示します。

表H-2 SQL Server 2000データ型マッピング

SQLデータ型 XQuery型

BIGINT

xs:long

BINARY

xs:hexBinary

BIT

xs:boolean

CHAR

xs:string

DATETIME脚注 1 

xs:dateTime脚注 2 

DECIMAL(p,s)脚注 3  (NUMERIC)

xs:decimal (if s > 0), xs:integer (if s = 0)

FLOAT

xs:double

IMAGE

xs:hexBinary

INTEGER

xs:int

MONEY

xs:decimal

NCHAR

xs:string

NTEXT脚注 4 

xs:string

NVARCHAR

xs:string

REAL

xs:float

SMALLDATETIME脚注 5 

xs:dateTime

SMALLINT

xs:short

SMALLMONEY

xs:decimal

SQL_VARIANT

xs:string

TEXT4

xs:string

TIMESTAMP

xs:hexBinary

TINYINT

xs:short

VARBINARY

xs:hexBinary

VARCHAR

xs:string

UNIQUIDENTIFIER

xs:string


脚注 1 小数点以下3桁までの秒精度(ミリ秒)。タイム・ゾーン情報はありません。

脚注 2 DATETIMEの制限のため、値はローカル・タイム・ゾーンに変換され(タイム・ゾーン情報は削除)、小数点次の秒はミリ秒まで切り捨てられます。

脚注 3 ここで、pは精度(小数点以下および以上の両方を含めた総桁数)で、sは位取り(小数点次の桁数)を表します。

脚注 4 プロジェクト・リストでのみプッシュ・ダウンされます。

脚注 5 精度は1分単位です。

H.3 Oracle8i, 8.1.x

この項では、Oracle 8.1.x (Oracle 8i)についてXQueryエンジンが生成する、またはサポートするデータ型について示します。

表H-3 Oracle 8.1.xデータ型マッピング

Oracle 8データ型 XQuery型

BFILE

サポートされません

BLOB

xs:hexBinary

CHAR

xs:string

CLOB脚注 1 

xs:string

DATE脚注 2 

xs:dateTime

FLOAT

xs:double

LONG1

xs:string

LONG RAW

xs:hexBinary

NCHAR

xs:string

NCLOB1

xs:string

NUMBER

xs:double

NUMBER(p,s)脚注 3 

xs:decimal (if s > 0), xs:integer (if s <=0)

NVARCHAR2

xs:string

RAW

xs:hexBinary

ROWID

xs:string

UROWID

xs:string


脚注 1 プロジェクト・リストでのみプッシュ・ダウンされます。

脚注 2 小数点次の秒はサポートしません。

脚注 3 ここで、pは精度(小数点以下および以上の両方を含めた総桁数)で、sは位取り(小数点次の桁数)を表します。

H.4 Oracle 9i、Oracle Database 10g

この項では、Oracle 9iおよびOracle Database 10gについてXQueryエンジンが生成する、またはサポートするデータ型およびその他のマッピングについて説明します。Oracleでは空の文字列はNULLとして処理されます。この文字列は、XQueryセマンティクスから逸脱しており、プッシュ・ダウンされた式に対し予期しない結果が導き出される可能性があります。

表H-4 Oracle 9i、Oracle Database 10gデータ型マッピング

Oracleデータ型 XQuery型

BFILE

サポートされません

BLOB

xs:hexBinary

CHAR

xs:string

CLOB脚注 1 

xs:string

DATE

xs:dateTime脚注 2 

FLOAT

xs:double

INTERVAL DAY TO SECOND

xdt:dayTimeDuration

INTERVAL YEAR TO MONTH

xdt:yearMonthDuration

LONG1

xs:string

LONG RAW

xs:hexBinary

NCHAR

xs:string

NCLOB1

xs:string

NUMBER

xs:double

NUMBER(p,s)

xs:decimal (if s > 0), xs:integer (if s <=0)

NVARCHAR2

xs:string

RAW

xs:hexBinary

ROWID

xs:string

TIMESTAMP

xs:dateTime脚注 3 

TIMESTAMP WITH LOCAL TIMEZONE

xs:dateTime

TIMESTAMP WITH TIMEZONE

xs:dateTime

VARCHAR2

xs:string

UROWID

xs:string


脚注 1 プロジェクト・リストでのみプッシュ・ダウンされます。

脚注 2 SDOがxs:dateTime値をOracle DATE型で保存する場合、それはローカル・タイム・ゾーンに変換され、DATEの制限のため、小数点次の秒は切り捨てられます。

脚注 3 タイム・ゾーン情報があるかどうかに応じて、XQueryエンジンはXQuery xs:dateTimeをTIMESTAMPまたはTIMESTAMP WITH TIMEZONEデータ型のいずれかにマップします。SDOを使用してxs:dateTimeを保存する場合、SQLの型定義に応じて、秒の小数点次の桁が欠落することがあります。

H.5 Sybase 12.5.2(およびそれ以上)

この項では、Sybase 12.5.2 (またはそれ以上)についてXQueryエンジンが生成する、またはサポートするデータ型について示します。


注意:

SybaseはXQueryセマンティクスから逸脱しており(XQueryセマンティクスでは空の文字列は無視されます)、空の文字列はシングル・スペースの文字列として処理されます。


表H-5 Sybase 12.5.2データ型マッピング

Sybaseデータ型 XQuery型

BINARY

xs:hexBinary

BIT

xs:boolean

CHAR

xs:string

DATE

xs:date

DATETIME脚注 1 

xs:dateTime脚注 2 

DECIMAL(p,s)脚注 3  (NUMERIC)

xs:decimal (if s > 0), xs:integer (if s == 0)

DOUBLE PRECISION

xs:double

FLOAT

xs:double

IMAGE

xs:hexBinary

INT (INTEGER)

xs:int

MONEY

xs:decimal

NCHAR

xs:string

NVARCHAR

xs:string

REAL

xs:float

SMALLDATETIME脚注 4 

xs:dateTime

SMALLINT

xs:short

SMALLMONEY

xs:decimal

SYSNAME

xs:string

TEXT脚注 5 

xs:string

TIME

xs:time

TINYINT

xs:short

VARBINARY

xs:hexBinary

VARCHAR

xs:string


脚注 1 小数点以下3桁までの秒(ミリ秒)をサポートします。タイム・ゾーン情報はありません。

脚注 2 SDOがxs:dateTime値をOracle DATE型で保存する場合、それはローカル・タイム・ゾーンに変換され、DATEの制限のため、小数点次の秒は切り捨てられます。

脚注 3 ここで、pは精度(小数点以下および以上の両方を含めた総桁数)で、sは位取り(小数点次の桁数)を表します。

脚注 4 精度は1分単位です。

脚注 5 テキストを返す式は、プロジェクト・リストでのみプッシュ・ダウンされます。

H.6 ベース(汎用)RDBMSデータ型マッピング

SQLをXQueryデータ型にマッピングする際、XQueryエンジンでは最初にJDBCタイプ・コードを確認します。タイプ・コードがXQuery型に対応している場合、XQueryエンジンでは一致するネイティブ・タイプ名を使用します。一致するタイプ・コードやタイプ名がない場合、列は無視されます。表H-6にこのマッピングを示します。

表H-6 RDBMSデータ型マッピング

JDBCデータ型 タイプ・コード XQueryデータ型

BIGINT

-5

xs:long

BINARY

-2

xs:string

BIT

-7

xs:boolean

BLOB

2004

xs:hexBinary

BOOLEAN

16

xs:boolean

CHAR

1

xs:string

CLOB脚注 1 

2005

xs:string

DATE

91

xs:date脚注 2 

DECIMAL (p,s)脚注 3 

3

xs:decimal (if s > 0), xs:integer (if s =0)

DOUBLE

8

xs:double

FLOAT

6

xs:double

INTEGER

4

xs:int

LONGVARBINARY

-4

xs:hexBinary

LONGVARCHAR1

-1

xs:string

NUMERIC (p,s)脚注 3

2

xs:decimal (if s > 0), xs:integer (if s =0)

REAL

7

xs:float

SMALLINT

5

xs:short

TIME脚注 4 

92

xs:time4

TIMESTAMP4

93

xs:dateTime脚注 2

TINYINT

-6

xs:short

VARBINARY

-3

xs:hexBinary

VARCHAR

12

xs:string

その他のベンダー固有のJDBCタイプ・コード

1111

Oracle Service Busは、ネイティブ・データ型名を使用して適切なXQueryデータ型にマップします。


脚注 1 プロジェクト・リストでのみプッシュ・ダウンされます。

脚注 2 DATEの制限のため、値はローカル・タイム・ゾーンに変換されます(タイム・ゾーン情報は削除されます)。

脚注 3 ここで、pは精度(小数点以下および以上の両方を含めた総桁数)で、sは位取り(小数点次の桁数)を表します。

脚注 4 xs:timeをTIMEに変換する場合、基盤のRDBMSの精度により、TIMEデータ型の精度および小数点以下切捨ての度合い(該当する場合)が決定します。