Oracle数据类型与.NET中的对应关系
Oracle连接添加的引用不同,会存在数据类型不同以及其他一些差别,就工作中遇到的问题暂时总结下。
两种不同的添加引用语句:
(1)System.Data.OracleClient;
(2)Oracle.DataAccess.Client;
Oracle.DataAccess.Type;
采用第二种引用,创建的OracleCommand实例有ArrayBindCount属性,可用于传入数组型参数,执行多次储存过程函数。
对于不同引用创建OracleParameter实例,类型也存在着差异:
第一种引用:System.Data.OracleClient.OracleParameter para=new System.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 |
20 |
RefCursor |
Cursor |
(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 数据提供程序不会自动为您构造一个参数。
转载于:https://www.cnblogs.com/kliine/p/10018580.html
Oracle数据类型与.NET中的对应关系相关推荐
- sqlserver oracle 数据类型对应关系,SQLSERVER和ORACLE数据类型对应关系详解和对应表格整理...
Oracle SQLServer 比较 SQLServer 常见的 数据 库 类型 字符 数据 类型 CHAR CHAR :都是固定长度字符资料但oracle里面最大度为2kb,SQLServer里面 ...
- 在Oracle 数据类型中如何使用dump函数
http://database.51cto.com/art/201004/192369.htm 本文主要是介绍Oracle 数据类型中的相关数据类型的特点的介绍,以及在Oracle 数据类型中如何使用 ...
- JDBC与Mysql,Oracle数据类型之间的对应关系
2019独角兽企业重金招聘Python工程师标准>>> MySql数据类型参考:http://www.runoob.com/mysql/mysql-data-types.html M ...
- oracle中sql命令分为几类,常用sql命令@oracle数据类型概括@权限、角色、用户的创建于使用@伪列及其注意事项-Oracle...
常用sql命令@oracle数据类型概括@权限.角色.用户的创建于使用@伪列及其注意事项 1.各种不同权限的用户 系统权限: 用户名:sys/system(用户名默认的是 sys,system);密码 ...
- java实体属性对应mysql和SQL Server 和Oracle 数据类型对应
1:Java数据类型与MySql数据类型对照表 类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) VARCHAR L+N VARCHAR java.lang.String 12 ...
- Oracle数据类型(转)
Character 数据类型 Character 数据类型用来存储字母数字型数据.当你在oracle 中定义一个character 数据时,通常需要制定字段的长度,它是该字段的最大长度.ORACLE提 ...
- Oracle 11G R2 RAC中的scan ip 的用途和基本原理【转】
Oracle 11G R2 RAC增加了scan ip功能,在11.2之前,client链接数据库的时候要用vip,假如你的cluster有4个节点,那么客户端的tnsnames.ora中就对应有四个 ...
- Oracle数据类型简介【转贴】
为什么80%的码农都做不了架构师?>>> Oracle数据类型简介 一.概述 在ORACLE8中定义了:标量(SCALAR).复合(COMPOSITE).引用(REFERENC ...
- Oracle数据类型Long需要注意的问题
1.long是一个旧oracle数据类型,用于存储最多包含2GB数据的可变长度字符串,类似varchar2 2.不能在select语句的where子句中使用long 3.表不能有多个long列 4.不 ...
最新文章
- 系统内存信息获取工具类
- 华为云计算——FusionCompute创建虚拟机
- CSP认证201409-2	画图[C++题解]:模拟、图形的并
- 概率论-3.5 条件分布与条件期望
- 信息学奥赛一本通(1151:素数个数)
- Notepad++ 开启「切分窗口」同时检视、比对两份文件
- 美图2019年财报发布:“高级订阅”收入亮眼 成为重要商业模式
- 荣耀鸿蒙系统内测,官宣!荣耀 Magic UI 4.0 与 EMUI 11 同步内测:后续支持升级为鸿蒙操作系统...
- python获取当前日期的前一天爆炸_python蒙特卡洛脚本模拟—挑战者号爆炸概率
- git 修改.gitignore文件 不生效
- paip.分成系统会员推广分销系统的设计
- 百度音乐 android,百度音乐旧版本
- Java开发16个经典面试问题
- linux查看隐藏文件命令
- 计算机代码查重软件,文件查重程序
- java使用Aspose.pdf实现pdf转图片
- Resultful API
- 你还记得当年高考时的样子吗?
- python bins分箱,划分数值区间
- 特斯拉新能源汽车遍地开花 汽车品牌纷纷建立电动化品牌战略