Oracle データ型のマッピング (ADO.NET)

.NET Framework Data Provider for Oracle (System.Data.OracleClient) のデータ型から推論される .NET Framework の型を次の表に示します。 OracleDataReader の型指定されたアクセサー メソッドも示します。

Oracle 型

.NET Framework 型

.NET Framework の型指定されたアクセサー

OracleType の型指定されたアクセサー

BFILE

Byte[]

GetBytes()

GetOracleBFile()

BLOB

Byte[]

GetBytes()

GetOracleLob()

CHAR

String

Char[]

GetString()

GetChars()

GetOracleString()

CLOB

String

Char[]

GetString()

GetChars()

GetOracleLob()

DATE

DateTime

GetDateTime()

GetOracleDateTime()

FLOAT

Decimal

GetDecimal()

GetOracleNumber() **

INTEGER

Decimal

GetDecimal()

GetOracleNumber() **

INTERVAL YEAR TO MONTH *

Int32

GetInt32()

GetOracleMonthSpan()

INTERVAL DAY TO SECOND *

TimeSpan

GetTimeSpan()

GetOracleTimeSpan()

LONG

String

Char[]

GetString()

GetChars()

GetOracleString()

LONG RAW

Byte[]

GetBytes()

GetOracleBinary()

NCHAR

String

Char[]

GetString()

GetChars()

GetOracleString()

NCLOB

String

Char[]

GetString()

GetChars()

GetOracleLob()

NUMBER

Decimal

GetDecimal()

GetOracleNumber() **

NVARCHAR2

String

Char[]

GetString()

GetChars()

GetOracleString()

RAW

Byte[]

GetBytes()

GetOracleBinary()

REF CURSOR

 

 

 

ROWID

String

Char[]

GetString()

GetChars()

GetOracleString()

TIMESTAMP *

DateTime

GetDateTime()

GetOracleDateTime()

TIMESTAMP WITH LOCAL TIME ZONE *

DateTime

GetDateTime()

GetOracleDateTime()

TIMESTAMP WITH TIME ZONE *

DateTime

GetDateTime()

GetOracleDateTime()

UNSIGNED INTEGER

Decimal

GetDecimal()

GetOracleNumber() **

VARCHAR2

String

Char[]

GetString()

GetChars()

GetOracleString()

* この Oracle 型は、クライアントとサーバーの両方に Oracle 9i ソフトウェアを使用している場合にだけ使用できます。

** Oracle の NUMBER 型の有効桁数は 38 桁です。 .NET Framework の decimal 型は 28 桁に制限されています。 Oracle の NUMBER 型を .NET Framework の decimal 型に読み込む場合、28 桁を超える NUMBER 型の値では OverflowException がスローされます。 OracleDataReader から Oracle の NUMBER 型の値を読み込む場合は、GetOracleNumber の型指定されたアクセサー メソッドを呼び出し、OracleNumber として Oracle の NUMBER 型の値を返すことをお勧めします。 DataSet にデータを読む込む場合は、FillError イベントを使用して、OverflowException が発生したかどうかを確認し、発生時に適切な対応をすることができます。 FillError イベントの詳細については、「DataAdapter のイベント処理 (ADO.NET)」を参照してください。

参照

その他の技術情報

Oracle および ADO.NET

ADO.NET でのデータの取得および変更