基本的な Oracle データ型
このトピックでは、Microsoft BizTalk Adapter for Oracle E-Business Suite が基本的な Oracle データ型を表示する方法について説明します。
サポートされている Oracle データ型
Oracle E-Business アダプターでは、一部の Oracle データ型に対して安全な型指定がサポートされています。 安全な型指定が有効になっている場合、これらのデータ型は文字列として表されます。 安全な型指定を構成するには、 EnableSafeTyping バインド プロパティを有効にします (既定では無効)。 Oracle E-Business アダプターのバインド プロパティの詳細については、「 BizTalk Adapter for Oracle E-Business Suite バインディング プロパティの読み取り」を参照してください。
Note
データ型がユーザー定義型 (UDT) 内にある場合、安全な型指定はサポートされません。
次の表は、安全な型指定が無効 (EnableSafeTyping が false) で Oracle データ型がどのように表示されるかを示しています。 EnableSafeTyping バインド プロパティの影響を受ける Oracle データ型は、アスタリスク (*) でマークされます。
Oracle データ型 | XSD 型 | .NET の種類 | 説明 |
---|---|---|---|
BFile | input: xsd:string output: xsd:base64Binary |
String Byte[] |
BFile データ型は、複合型 (RecordType、TableType、UDT、VArray など) 内ではサポートされていません。 |
BLOB | xsd:base64Binary | Byte[] | - |
Char | xsd:string | String | - |
Clob | xsd:string | String | - |
日付* (UDT 内にある場合は、安全な入力は行われません) |
xsd:dateTime | DateTime | 日付値には、タイム ゾーン情報 (UTC または UTC オフセット) を含めることはできません。 - xsd:dateTime 値に UTC オフセットまたは UTC オフセットを含めてはいけません - DateTime.Kind は DateTimeKind.Unspecified である必要があります タイム ゾーン情報が指定されている場合、アダプターは、フィールドを示すメッセージを含む XmlReaderParsingException 例外をスローします。 メモ: Oracle E-Business アダプターは、次の理由から、Oracle 日付データ型を xsd:date ではなく xsd:dateTime として公開します。
|
フロート** | xsd:float if prec <=7 xsd:double if prec > 7 and <=15 xsd:string if prec > 15 |
Float Double String |
MlsSettings バインド プロパティの NumericCharacters バインド プロパティで、小数点文字とグループ区切り記号に指定された形式と一致する値を指定する必要があります。 NumericCharacters バインディング プロパティに値が指定されていない場合、アダプターは、アダプターがインストールされているのと同じコンピューター上の ODP.NET クライアントの MLS 設定を使用します。 |
IntervalDS | xsd:string UDT 内の場合は xsd:duration |
String UDT 内の場合の期間 |
アダプターは、OracleIntervalDS.ToString メソッドを使用して、IntervalDS データを文字列として返します。 値は Oracle ネイティブ形式で表す必要があります:Day HH:MI:SSxFF (たとえば、"5 15:30:12.99")。 |
IntervalYM | xsd:string UDT 内にある場合は xsd:long |
String UDT 内の場合は Long |
アダプターは、OracleIntervalYM.ToString メソッドを使用して、IntervalYM データを文字列として返します。 値は Oracle ネイティブ形式で表す必要があります: Year-Month;たとえば、"1- 2" (1 年 2 か月) などです。 |
Long | xsd:string | String | Oracle データベース 9i リリース以降、LONG データ型は非推奨となりました。 Oracle では、代わりにラージ オブジェクト (LOB) データ型を使用することをお勧めします。 そのため、Oracle データベース アダプターを使用して Oracle データベースに対して操作を実行する場合は、LONG データ型ではなく LOB データ型に対して動作する Oracle データベース成果物を使用することをお勧めします。 |
LongRaw | xsd:base64Binary | Byte[] | - |
NChar | xsd:string | String | - |
NClob | xsd:string | String | |
数** | xsd:decimal if prec <=28 xsd:string if prec > 28 |
Decimal String |
- |
NVarchar2 | xsd:string | String | - |
Raw | xsd:base64Binary | Byte[] | |
Rowid | xsd:string | String | - |
タイムスタンプ* (UDT 内にある場合は、安全な入力は行われません) |
xsd:dateTime (prec <= 7 の場合) xsd:string if prec > 7 |
DateTime String |
文字列 (7 より前 > ) として公開される場合、値は Oracle NLS_TIMESTAMP_FORMATで表す必要があります。 TimeStamp データ型の文字列形式は、MlsSettings バインド プロパティの TimeStampFormat バインド プロパティで指定できます。 TimeStampFormat バインド プロパティに値が指定されていない場合、アダプターは、アダプターがインストールされているのと同じコンピューター上の ODP.NET クライアントの MLS 設定を使用します。 TimeStamp 値には、タイム ゾーン情報 (UTC または UTC オフセット) を含めることはできません。 - xsd:dateTime 値に UTC オフセットまたは UTC オフセットを含めないようにする - DateTime.Kind は DateTimeKind.Unspecified である必要があります タイム ゾーン情報が指定されている場合、アダプターは、フィールドを示すメッセージを含む XmlReaderParsingException 例外をスローします。 |
TimeStampLTZ | xsd:string | String | TimeStampLTZ は UDT 内ではサポートされていません。 UDT の外部: 値は Oracle NLS_TIMESTAMP_TZ_FORMATで表す必要があります。 TimeStampTZ データ型の文字列形式は、MlsSettings バインド プロパティの TimeStampTZFormat バインド プロパティで指定できます。 TimeStampTZFormat バインド プロパティに値が指定されていない場合、アダプターは、アダプターがインストールされているのと同じコンピューター上の ODP.NET クライアントの MLS 設定を使用します。 |
TimeStampTZ | xsd:string UDT 内の場合は xsd:dateTime |
String UDT 内の場合は DateTime |
UDT の外部: 値は Oracle NLS_TIMESTAMP_TZ_FORMATで表す必要があります。 TimeStampTZ データ型の文字列形式は、MlsSettings バインド プロパティの TimeStampTZFormat バインド プロパティで指定できます。 TimeStampTZFormat バインド プロパティに値が指定されていない場合、アダプターは、アダプターがインストールされているのと同じコンピューター上の ODP.NET クライアントの MLS 設定を使用します。 |
10 進** | xsd:decimal (prec <=28 の場合) xsd:string if prec > 28 |
Decimal String |
- |
Varchar2 | xsd:string | String | - |
Binary Float** | xsd:float (prec <=7 の場合) xsd:string if prec > 7 |
Float String |
MlsSettings バインド プロパティの NumericCharacters バインド プロパティで、小数点文字とグループ区切り記号に指定された形式と一致する値を指定する必要があります。 NumericCharacters バインディング プロパティに値が指定されていない場合、アダプターは、アダプターがインストールされているのと同じコンピューター上の ODP.NET クライアントの MLS 設定を使用します。 |
Binary Double** | xsd:double if prec <=15 xsd:string if prec > 15 |
Double String |
- |
Binary Integer** | xsd:integer | Int32 | |
Boolean | xsd:boolean | Null 許容ブール値 | |
XMLTYPE | xsd:string | String | 最上位レベルのプロシージャ パラメーターでサポートされます。 BizTalk でアプリケーションを開発するとき、および WCF チャネル モデルを使用する場合は、予約 XML 文字 ('<'、'>' など) をエンティティ表現 (<、 >) に置き換える必要があります。 これは、WCF サービス モデルの場合は必要ありません。 |
*これらの Oracle データ型が表示される方法は、 EnableSafeTyping バインディング プロパティの影響を受けます。
**DataSets および弱く型指定された REF CURSORS 内でこれらの Oracle 数値データ型が表示される方法は、 EnableSafeTyping バインディング プロパティの影響を受けます。
重要
- Oracle E-Business アダプターの Oracle データ型の値の最大長は、Oracle データ型の ODP.NET でサポートされる値の最大長によってバインドされます。
- Oracle E-Business アダプターは、UDT 内の Oracle 数値データ型を .NET Decimal として内部的に処理します。 ただし、一般に (UDT の外部にある) Oracle E-Business アダプターは、Oracle の数値データ型を OracleDecimal として内部的に処理します。
安全な入力が有効
次の表は、 EnableSafeTyping バインド プロパティが true の場合に、安全な型指定の影響を受ける Oracle データ型がどのように変更されるかを示しています。
Note
このテーブルに含まれていない Oracle データ型は、安全な入力が有効か無効かに関係なく、同じ方法で表示されます。
Oracle データ型 | XSD 型 | .NET の種類 | コメント |
---|---|---|---|
Date | xsd:string | String | 値は Oracle NLS_DATE_FORMATで表す必要があります。 DateFormat バインド プロパティの [MlsSettings] バインド プロパティで、Date データ型の形式を指定できます。 DateFormat バインド プロパティに値が指定されていない場合、アダプターは、アダプターがインストールされているのと同じコンピューター上の ODP.NET クライアントの MLS 設定を使用します。 |
TimeStamp | xsd:string | String | 値は Oracle NLS_TIMESTAMP_FORMATで表す必要があります。 TimeStamp データ型の文字列形式は、MlsSettings バインド プロパティの TimeStampFormat バインド プロパティで指定できます。 TimeStampFormat バインド プロパティに値が指定されていない場合、アダプターは、アダプターがインストールされているのと同じコンピューター上の ODP.NET クライアントの MLS 設定を使用します。 |
重要
安全な型指定が有効になっている場合、DataSets および弱く型指定された REF CURSORS 内の Oracle 数値データ型は常に文字列として公開されます。
検証
Oracle E-Business アダプターは、Oracle データ型に指定した値に対して明示的な検証を実行しません。 ただし、Oracle データ型と、安全な型指定が有効か無効かに応じて、暗黙的な検証が実行される場合があります。
メッセージで渡された XML と、アダプターによって内部的に使用される .NET 型の間で逆シリアル化する場合。
一部のデータ型の ODP.NET。
参照
BizTalk Adapter for Oracle E-Business Suite 用のメッセージとメッセージ スキーマ