次の方法で共有


基本的な Oracle データ型について

このトピックでは、Microsoft BizTalk Adapter for Oracle Database が基本的な Oracle データ型を表示する方法について説明します。

サポートされている Oracle データ型

Microsoft BizTalk Adapter for Oracle Database では、一部の Oracle データ型に対して安全な型指定がサポートされています。 安全な型指定が有効になっている場合、これらのデータ型は文字列として表されます。 安全な入力を構成するには、 EnableSafeTyping バインド プロパティを設定します。 既定では、安全な入力は無効になっています。 Oracle データベース アダプターのバインド プロパティの詳細については、「Oracle Database アダプターのバインド プロパティの読み取り」を参照してください。

データ型がユーザー定義型 (UDT) 内にある場合、安全な型指定はサポートされません。

次の表は、安全な型指定を無効にして Oracle データ型がどのように表示されるかを示しています (EnableSafeTyping は false です)。 EnableSafeTyping バインディング プロパティの影響を受ける Oracle データ型は、アスタリスク (*) でマークされます。

Oracle データ型 XSD 型 .NET 型 コメント
BFile 入力: xsd:string
output: xsd:base64Binary

Byte[]
BFile データ型は、複合型 (RecordType、TableType、UDT、VArray など) 内ではサポートされていません。
ブロッブ xsd:base64Binary Byte[] テーブルの操作とプロシージャでサポートされます。
イワナ xsd:string テーブルの操作とプロシージャでサポートされます。
Clob xsd:string テーブルの操作とプロシージャでサポートされます。
日付*

(UDT 内にある場合は安全な入力は行われません)
xsd:dateTime 日付と時間 日付値にタイム ゾーン情報 (UTC または UTC オフセット) を含めることはできません。

- xsd:dateTime 値に UTC または UTC オフセットを含めてはなりません
- DateTime.KindDateTimeKind.Unspecified である必要があります

タイム ゾーン情報が指定されている場合、アダプターは、フィールドを示すメッセージを含む XmlReaderParsingException 例外をスローします。
浮く** xsd:float if prec <=7
xsd:double は prec が> 7 未満 かつ<=15 の場合
xsd:string prec > 15 の場合
浮く
ダブル
-
IntervalYM xsd:string

UDT 内の場合は xsd:long


UDT の内部に Long がある場合
値は Oracle ネイティブ形式で表す必要があります: Year-Month;たとえば、"1- 2" (1 年 2 か月) などです。
IntervalDS xsd:string

xsd:duration は UDT 内にある場合


UDT 内の場合はタイムスパン
値は Oracle ネイティブ形式で表す必要があります:Day HH:MI:SSxFF;例: "5 15:30:12.99"
長い xsd:string すべてのテーブル操作、ストアド プロシージャ、および関数でサポートされます。 手記: Oracle データベース 9i リリース以降、LONG データ型は非推奨になりました。 代わりに LOB データ型を使用することをお勧めします。 そのため、Oracle データベース アダプターを使用して Oracle データベースに対して操作を実行する場合は、LONG データ型ではなく LOB データ型に対して動作する Oracle データベース 成果物を使用することをお勧めします。
LongRaw xsd:base64Binary Byte[] -
NChar xsd:string -
NClob xsd:string テーブルの操作とプロシージャでサポートされます。
数** xsd:decimal if prec <=28
prec > 28 の場合は xsd:string
小数
-
NVarchar2 xsd:string -
未加工 xsd:base64Binary Byte[] テーブルの操作とプロシージャでサポートされます。
RowID xsd:string -
タイムスタンプ*

(UDT 内にある場合は安全な入力は行われません)
xsd:dateTime (prec <= 7 の場合)
xsd:string prec > 7 の場合
日付と時間
TimeStamp 値には、タイム ゾーン情報 (UTC または UTC オフセット) を含めることはできません。

- xsd:dateTime 値に UTC または UTC オフセットを含んではいけません
- DateTime.KindDateTimeKind.Unspecified である必要があります

タイム ゾーン情報が指定されている場合、アダプターは、フィールドを示すメッセージを含む XmlReaderParsingException 例外をスローします。
タイムスタンプLTZ xsd:string TimeStampLTZ は UDT 内ではサポートされていません。

UDT の外部: 値はNLS_TIMESTAMP_TZ_FORMATで表す必要があります。
TimeStampTZ xsd:string

UDT 内の場合は xsd:dateTime


UDT 内の場合は DateTime
UDT の外部: 値はNLS_TIMESTAMP_TZ_FORMATで表す必要があります。
小数** xsd:decimal もし prec <=28 の場合
prec > 28 の場合は xsd:string とする
小数
-
Varchar2 xsd:string -
バイナリ フロート xsd:float if prec <=7
xsd:string prec > 7 の場合
浮く
ロケール (System.Globalization.CultureInfo.CurrentCulture) と一致するフォームで値を指定する必要があります。 たとえば、英語のロケールでは、ピリオド文字 ('.') を使用して 10 進数を指定します。フランス語ロケールの場合は、コンマ文字 (',') を使用します。
バイナリダブル (Binary Double) xsd:double もし prec <=15
xsd:string prec > 15 の場合
ダブル
-
2進整数 xsd:integer Int32 プロシージャ、関数、およびパッケージでサポートされます。
ボーリアン xsd:boolean Null 許容ブール値
XMLTYPE xsd:string 最上位レベルのプロシージャ パラメーターでサポートされます。

BizTalk でアプリケーションを開発するとき、および WCF チャネル モデルを使用する場合は、'<'、'>' などの予約済み XML 文字をエンティティ表現 (<、 >) に置き換える必要があります。 WCF サービス モデルの場合、これは必要ありません。

*これらの Oracle データ型が表示される方法は、 EnableSafeTyping バインディング プロパティの影響を受けます。

**DataSets 内でこれらの Oracle 数値データ型と弱く型指定された REF CURSORS が表示される方法は、 EnableSafeTyping バインド プロパティの影響を受けます。

Von Bedeutung

  • Oracle データベース アダプターの Oracle データ型の値の最大長は、Oracle データ型の ODP.NET でサポートされる値の最大長によってバインドされます。
    • Oracle データベース アダプターは、内部的に UDT 内の Oracle 数値データ型を .NET Decimal として扱います。 ただし、一般に (UDT の外部にある) Oracle Database アダプターは、Oracle 数値データ型を OracleDecimal として内部的に処理します。

安全な入力が有効

次の表は、 EnableSafeTyping バインディング プロパティが true の場合に、安全な型指定の影響を受ける Oracle データ型がどのように変更されるかを示しています。

Oracle データ型 XSD 型 .NET 型 コメント
日付 xsd:string 値は Oracle NLS_DATE_FORMATで表す必要があります。
タイムスタンプ xsd:string 値は Oracle NLS_TIMESTAMP_FORMATで表す必要があります。

Von Bedeutung

安全な型指定が有効になっている場合、DataSets 内の Oracle 数値データ型と弱く型指定された REF CURSORS は、常に文字列として公開されます。

この表にない Oracle データ型は、安全な型指定が有効か無効かに関係なく、同じ方法で表示されます。

検証

Microsoft BizTalk Adapter for Oracle Database では、Oracle データ型に指定した値に対して明示的な検証は実行されません。 ただし、Oracle データ型と、安全な型指定が有効か無効かに応じて、暗黙的な検証が実行される場合があります。

  • メッセージで渡された XML と、アダプターによって内部的に使用される .NET 型の間で逆シリアル化する場合。

  • 一部のデータ型に対するODP.NET。