Oracle数据类型与.NET中的对应关系
2012-04-18 22:50
489 查看
Oracle连接添加的引用不同,会存在数据类型不同以及其他一些差别,就工作中遇到的问题暂时总结下。
两种不同的添加引用语句:
(1)System.Data.OracleClient;
(2)Oracle.DataAccess.Client;
Oracle.DataAccess.Type;
采用第二种引用,创建的OracleCommand实例有ArrayBindCount属性,可用于传入数组型参数,执行多次储存过程函数。
对于不同引用创建OracleParameter实例,类型也存在着差异:
第一种引用:System.Data.OracleClient.OracleParameter para=newSystem.Data.OracleClient.OracleParameter("APPLICATIONNAME_",OracleType.NVarChar,200);
第二种引用:Oracle.DataAccess.Client.OracleParameterpara=new
Oracle.DataAccess.Client.OracleParameter("APPLICATIONNAME_",OracleDbType.Varchar2,200);
下面结合.NET开发需要,对数据类型比较整合下:
备注:
(1).NET类型:OracleDataReader.GetValue返回的.NET Framework数据类型;
(2)OracleType类型:OracleDataReader.GetOracleValue返回的OracleClient数据类型。
(3)DbType:要绑定为参数的System.Data.DbType枚举
(4)OracleType:要绑定为参数的OracleType枚举
(1)
Oracle 只允许将 BFILE 绑定为BFILE 参数。如果您尝试绑定非
BFILE 值,例如 byte[] 或
OracleBinary,Oracle .NET 数据提供程序不会自动为您构造一个参数。
(2)
Oracle 只允许将 BLOB 绑定为BLOB 参数。如果您尝试绑定非
BLOB 值,例如 byte[] 或 OracleBinary,Oracle .NET 数据提供程序不会自动为您构造一个参数。
(4)Oracle只允许将
CLOB 绑定为 CLOB 参数。如果您尝试绑定非
CLOB 值,例如System.String 或 OracleString,Oracle .NET 数据提供程序不会自动为您构造一个参数。
(6、7)Size确定System.Data.DBType
和OracleType。
(8、9、18)OracleType
仅在同时使用 Oracle 9i 客户端和服务器软件时才适用。
(13)Oracle 只允许将 NCLOB 绑定为 NCLOB 参数。如果您尝试绑定非 NCLOB 值,例如 System.String 或 OracleString,Oracle
.NET 数据提供程序不会自动为您构造一个参数。
两种不同的添加引用语句:
(1)System.Data.OracleClient;
(2)Oracle.DataAccess.Client;
Oracle.DataAccess.Type;
采用第二种引用,创建的OracleCommand实例有ArrayBindCount属性,可用于传入数组型参数,执行多次储存过程函数。
对于不同引用创建OracleParameter实例,类型也存在着差异:
第一种引用:System.Data.OracleClient.OracleParameter para=newSystem.Data.OracleClient.OracleParameter("APPLICATIONNAME_",OracleType.NVarChar,200);
第二种引用:Oracle.DataAccess.Client.OracleParameterpara=new
Oracle.DataAccess.Client.OracleParameter("APPLICATIONNAME_",OracleDbType.Varchar2,200);
下面结合.NET开发需要,对数据类型比较整合下:
备注:
(1).NET类型:OracleDataReader.GetValue返回的.NET Framework数据类型;
(2)OracleType类型:OracleDataReader.GetOracleValue返回的OracleClient数据类型。
(3)DbType:要绑定为参数的System.Data.DbType枚举
(4)OracleType:要绑定为参数的OracleType枚举
序号 | Oracle数据类型 | .NET类型 | GetOracleValue类型 | DbType | OracleType |
1 | BFILE | byte[] | OracleBFile | BFile | |
2 | BLOB | byte[] | OracleLob | Blob | |
3 | CHAR | string | OracleString | AnsiStringFixedLength | Char |
4 | CLOB | string | OracleLob | Clob | |
5 | DATE | DateTime | OracleDateTime | DateTime | DateTime |
6 | FLOAT | Decimal | OracleNumber | Single、Double、Decimal | Float、Double、Number |
7 | INTEGER | Decimal | OracleNumber | SByte、Int16、Int32、Int64、Decimal | SByte、Int16、Int32、Number |
8 | INTERVAL YEAR TO MONTH | Int32 | OracleMonthSpan | Int32 | IntervalYearToMonth |
9 | INTERVAL DAY TO SECOND | TimeSpan | OracleTimeSpan | Object | IntervalDayToSecond |
10 | LONG | string | OracleString | AnsiString | LongVarChar |
11 | LONG RAW | byte[] | OracleBinary | Binary | LongRaw |
12 | NCHAR | string | OracleString | StringFixedLength | NChar |
13 | NCLOB | string | OracleLob | NClob | |
14 | NUMBER | Decimal | OracleNumber | VarNumeric | Number |
15 | NVARCHAR2 | string | OracleString | String | NVarChar |
16 | RAW | byte[] | OracleBinary | Binary | RAW |
17 | ROWID | string | OracleString | AnsiString | Rowid |
18 | TIMESTAMP | DateTime | OracleDateTime | DateTime | Timestamp |
19 | VARCHAR2 | string | OracleString | AnsiString | VarChar |
Oracle 只允许将 BFILE 绑定为BFILE 参数。如果您尝试绑定非
BFILE 值,例如 byte[] 或
OracleBinary,Oracle .NET 数据提供程序不会自动为您构造一个参数。
(2)
Oracle 只允许将 BLOB 绑定为BLOB 参数。如果您尝试绑定非
BLOB 值,例如 byte[] 或 OracleBinary,Oracle .NET 数据提供程序不会自动为您构造一个参数。
(4)Oracle只允许将
CLOB 绑定为 CLOB 参数。如果您尝试绑定非
CLOB 值,例如System.String 或 OracleString,Oracle .NET 数据提供程序不会自动为您构造一个参数。
(6、7)Size确定System.Data.DBType
和OracleType。
(8、9、18)OracleType
仅在同时使用 Oracle 9i 客户端和服务器软件时才适用。
(13)Oracle 只允许将 NCLOB 绑定为 NCLOB 参数。如果您尝试绑定非 NCLOB 值,例如 System.String 或 OracleString,Oracle
.NET 数据提供程序不会自动为您构造一个参数。
相关文章推荐
- Oracle数据类型与.NET中的对应关系
- Oracle数据类型与.NET中的对应关系
- Oracle数据类型与.NET中的对应关系
- Oracle数据类型与.NET中的对应关系
- Oracle数据类型与.NET中的对应关系(转)
- Oracle数据类型与.NET中的对应关系
- oracle数据类型与.NET中的对应关系
- Oracle数据类型与.NET中的对应关系
- Oracle数据类型与.NET中的对应关系
- Oracle数据类型与.NET中的对应关系
- Oracle数据类型与.NET中的对应关系
- SQL Server数据类型与Oracle数据类型的对应关系
- 【转】Access, SQL Server, and Oracle数据类型的对应关系
- oracle ,masql数据类型与java数据类型的对应关系
- Oracle的Numer类型与C,C#数据类型对应关系
- SQL Server 与ORACLE数据类型转换对应关系
- SQL Server和Oracle数据类型的对应关系
- MyBatis JdbcType 与Oracle、MySql数据类型对应关系详解 (转)
- Oracle与SQL Server数据类型对应关系
- Oracle的Numer类型与C,C#数据类型对应关系