このトピックでは、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.Kind は DateTimeKind.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.Kind は DateTimeKind.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。