首页 » Oracle » Oracle与.NET数据类型映射

Oracle与.NET数据类型映射

原文 http://blog.csdn.net/WuLex/article/details/79167602

2018-01-28 02:01:09阅读(249)

下表列出 Oracle 数据类型及其与 OracleDataReader 的映射。

Oracle 数据类型 由 OracleDataReader.GetValue 返回的 .NET Framework 数据类型 由 OracleDataReader.GetOracleValue 返回的 OracleClient 数据类型 备注 BFILE Byte[] OracleBFile BLOB Byte[] OracleLob CHAR String OracleString CLOB String OracleLob DATE DateTime OracleDateTime FLOAT Decimal OracleNumber 此数据类型是 NUMBER 数据类型的别名,其设计目的是使 OracleDataReader 返回 System.Decimal 或 OracleNumber,而不是浮点值。 使用该 .NET Framework 数据类型可能导致溢出。 INTEGER Decimal OracleNumber 此数据类型是 NUMBER(38) 数据类型的别名,其设计目的是使 OracleDataReader 返回 System.Decimal 或 OracleNumber,而不是整数值。 使用该 .NET Framework 数据类型可能导致溢出。 INTERVAL YEAR TO MONTH Int32 OracleMonthSpan INTERVAL DAY TO SECOND TimeSpan OracleTimeSpan LONG String OracleString LONG RAW Byte[] OracleBinary NCHAR String OracleString NCLOB String OracleLob NUMBER Decimal OracleNumber 使用该 .NET Framework 数据类型可能导致溢出。 NVARCHAR2 String OracleString RAW Byte[] OracleBinary REF CURSOR OracleDataReader 对象不支持 Oracle REF CURSOR 数据类型。 ROWID String OracleString TIMESTAMP DateTime OracleDateTime TIMESTAMP WITH LOCAL TIME ZONE DateTime OracleDateTime TIMESTAMP WITH TIME ZONE DateTime OracleDateTime UNSIGNED INTEGER 数字 OracleNumber 此数据类型是 NUMBER(38) 数据类型的别名,其设计目的是使 OracleDataReader 返回 System.Decimal 或 OracleNumber,而不是无符号整数值。 使用该 .NET Framework 数据类型可能导致溢出。 VARCHAR2 String OracleString

下表列出了在将数据类型作为参数绑定时使用的 Oracle 数据类型和 .NET Framework 数据类型(System.Data.DbType 和 OracleType)。

Oracle 数据类型 要绑定为参数的 DbType 枚举 要绑定为参数的 OracleType 枚举 备注 BFILE BFile Oracle 只允许将 BFILE 绑定为 BFILE 参数。 如果您尝试绑定一个非 BFILE 值(如 byte[] 或 OracleBinary),适用于 Oracle 的 .NET 数据提供程序并不会自动为您构造这样的值。 BLOB Blob Oracle 只允许将 BLOB 绑定为 BLOB 参数。 如果您尝试绑定一个非 BLOB 值(如 byte[] 或 OracleBinary),适用于 Oracle 的 .NET 数据提供程序并不会自动为您构造这样的值。 CHAR AnsiStringFixedLength Char CLOB Clob Oracle 只允许将 CLOB 绑定为 CLOB 参数。 如果您尝试绑定一个非 CLOB 值(如 System.String 或 OracleString),适用于 Oracle 的 .NET 数据提供程序并不会自动为您构造这样的值。 DATE DateTime DateTime FLOAT Single、Double、Decimal Float、Double、Number Size 确定 System.Data.DBType 和 OracleType。 INTEGER SByte、Int16、Int32、Int64、Decimal SByte、Int16、Int32、Number Size 确定 System.Data.DBType 和 OracleType。 INTERVAL YEAR TO MONTH Int32 IntervalYearToMonth 只有在同时使用 Oracle 9i 客户端和服务器软件时,OracleType 才可用。 INTERVAL DAY TO SECOND Object IntervalDayToSecond 只有在同时使用 Oracle 9i 客户端和服务器软件时,OracleType 才可用。 LONG AnsiString LongVarChar LONG RAW 二进制 LongRaw NCHAR StringFixedLength NChar NCLOB NClob Oracle 只允许将 NCLOB 绑定为 NCLOB 参数。 如果您尝试绑定一个非 NCLOB 值(如System.String 或 OracleString),适用于 Oracle 的 NET 数据提供程序并不会自动为您构造这样的值。 NUMBER VarNumeric 数字 NVARCHAR2 String NVarChar RAW 二进制 Raw REF CURSOR Cursor 有关详细信息,请参阅Oracle REF CURSOR。 ROWID AnsiString Rowid TIMESTAMP DateTime 时间戳 只有在同时使用 Oracle 9i 客户端和服务器软件时,OracleType 才可用。 TIMESTAMP WITH LOCAL TIME ZONE DateTime TimestampLocal 只有在同时使用 Oracle 9i 客户端和服务器软件时,OracleType 才可用。 TIMESTAMP WITH TIME ZONE DateTime TimestampWithTz 只有在同时使用 Oracle 9i 客户端和服务器软件时,OracleType 才可用。 UNSIGNED INTEGER Byte、UInt16、UInt32、UInt64、Decimal Byte、UInt16、Uint32、Number Size 确定 System.Data.DBType 和 OracleType。 VARCHAR2 AnsiString VarChar

由 OracleParameter 对象的 Value 属性使用的 InputOutput、Output 和 ReturnValue ParameterDirection 值为 .NET Framework 数据类型,除非输入值是 Oracle 数据类型(例如 OracleNumber 或 OracleString)。 这并不适用于 REF CURSOR、BFILE 或 LOB 数据类型。

最新发布

CentOS专题

关于本站

5ibc.net旗下博客站精品博文小部分原创、大部分从互联网收集整理。尊重作者版权、传播精品博文,让更多编程爱好者知晓!

小提示

按 Ctrl+D 键,
把本文加入收藏夹