oracle数据类型与.NET中的对应关系
来源:互联网 发布:淘宝大牛韩代mlb正品吗 编辑:程序博客网 时间:2024/04/30 09:30
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.OracleParameter para=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
(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 数据提供程序不会自动为您构造一个参数。
- Oracle数据类型与.NET中的对应关系
- Oracle数据类型与.NET中的对应关系
- Oracle数据类型与.NET中的对应关系
- oracle数据类型与.NET中的对应关系
- Oracle数据类型与.NET中的对应关系
- Oracle数据类型与.NET中的对应关系
- Oracle数据类型与.NET中的对应关系
- Oracle 与sql 数据类型对应关系
- Oracle与SQL Server数据类型对应关系
- Java与Oracle 数据类型对应关系
- oracle中的数据类型和java中的数据类型的对应关系
- Access 中的数据类型与 ADO中的数据类型的 对应关系
- oracle ,masql数据类型与java数据类型的对应关系
- SQL Server数据类型与Oracle数据类型的对应关系
- Mysql、Oracle 中的数据类型与java中的数据类型对应表
- ADO.NET和SQL SERVER数据库中的数据类型对应关系
- Sql与Asp.Net数据类型对应关系表
- Oracle的Numer类型与C,C#数据类型对应关系
- Cocos2d-x学习资源
- ios 6 and xcode 4.5 linker problems
- 十、建造模式
- Android中实现带声音提示的Toast
- Ubuntu中mount服务器共享目录
- oracle数据类型与.NET中的对应关系
- rhel6.4 配置本地yum的源
- Ubuntu下解压rar文件的方法
- Android View getWidth, getHeight return zero
- CUDA samples 2.3节 用CUDA示例来创建CUDA项目
- C#之函数知识
- net start mysql启动mysql,提示发生系统错误5拒绝访问解决方法
- DOS命令配置IP地址、DNS
- 进程,轻量级进程,线程,内核线程