プライマリ・コンテンツに移動

Oracle® Data Provider for .NET開発者ガイド ODAC 12.2c リリース1 (12.2.0.1) for Microsoft Windows E88311-03 |
| 目次 | 索引

前 | 次 |

# ODP.NETタイプの概要

ODP.NETタイプは、Oracleネイティブ・データ型およびPL/SQLデータ型を構造体またはクラスとして表します。ODP.NETタイプの構造体は値セマンティクスに従い、ODP.NETタイプのクラスは参照セマンティクスに従っています。.NETタイプと比べ、ODP.NETタイプは.NETアプリケーションでOracleのネイティブ・データおよびPL/SQLデータ型を取得する、より安全で効率的な方法を提供します。たとえば、`OracleDecimal`構造では最大38桁の精度を保持できますが、.NET `Decimal`では最大28桁の精度しか保持できません。

表3-13には、ODP.NETによりサポートされているすべてのデータ型とそれらに対応するODP.NETタイプがリストされています。1列目のデータ型は、その名前のOracleネイティブ・データ型およびPL/SQLデータ型を参照します。PL/SQLにのみ存在するデータ型は、データ型の名前の後の(PL/SQLのみ)で示されています。また、PL/SQLデータ型のエントリは、データ型のサブタイプも表します(ある場合)。第3列には、各ODP.NETタイプの`Value`プロパティに対応する.NET Frameworkデータ型がリストされています。

表3-13 ODP.NETタイプのValueプロパティのタイプ

Oracleネイティブ・データ型またはPL/SQLデータ型 | ODP.NETタイプ | .NET Frameworkデータ型
--- | --- | ---
`BFILE` | `OracleBFile`クラス | `System.Byte[]`
`BINARY_DOUBLE` | `OracleDecimal`構造 | `System.Decimal`
`BINARY_FLOAT` | `OracleDecimal`構造 | `System.Decimal`
`BINARY_INTEGER`(PL/SQLのみ) | `OracleDecimal`構造 | `System.Decimal`
`BLOB` | `OracleBlob`クラス | `System.Byte[]`
`BOOLEAN` (PL/SQLのみ) | `OracleBoolean`構造 | `System.Boolean`
`CHAR` | `OracleString`構造 | `System.String`
`CLOB` | `OracleClob`クラス | `System.String`
`DATE` | `OracleDate`構造 | `System.DateTime`
`INTERVAL` `DAY` `TO` `SECOND` | `OracleIntervalDS`構造 | `System.Timespan`
`INTERVAL` `YEAR` `TO` `MONTH` | `OracleIntervalYM`構造 | `System.Int64`
`LONG` | `OracleString`構造 | `System.String`
`LONG` `RAW` | `OracleBinary`構造 | `System.Byte[]`
`NCHAR` | `OracleString`構造 | `System.String`
`NCLOB` | `OracleClob`クラス | `System.String`
`NUMBER` | `OracleDecimal`構造 | `System.Decimal`
`NVARCHAR2` | `OracleString`構造 | `System.String`
`PLS_INTEGER`(PL/SQLのみ) | `OracleDecimal`構造 | `System.Decimal`
`RAW` | `OracleBinary`構造 | `System.Byte[]`
`REF` | `OracleRef`クラス | `System.String`
`REF` `CURSOR`(PL/SQLのみ) | `OracleRefCursor`クラス | 適用不可
`ROWID` | `OracleString`構造 | `System.String`
`TIMESTAMP` | `OracleTimeStamp`構造 | `System.DateTime`
`TIMESTAMP` `WITH` `LOCAL` `TIME` `ZONE` | `OracleTimeStampLTZ`構造 | `System.DateTime`
`TIMESTAMP` `WITH` `TIME` `ZONE` | `OracleTimeStampTZ`構造 | `System.DateTime`
`UROWID` | `OracleString`構造 | `System.String`
`VARCHAR2` | `OracleString`構造 | `System.String`
`XMLType` | `OracleXmlType`クラス | `System.String`