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中的对应关系相关推荐

  1. sqlserver oracle 数据类型对应关系,SQLSERVER和ORACLE数据类型对应关系详解和对应表格整理...

    Oracle SQLServer 比较 SQLServer 常见的 数据 库 类型 字符 数据 类型 CHAR CHAR :都是固定长度字符资料但oracle里面最大度为2kb,SQLServer里面 ...

  2. 在Oracle 数据类型中如何使用dump函数

    http://database.51cto.com/art/201004/192369.htm 本文主要是介绍Oracle 数据类型中的相关数据类型的特点的介绍,以及在Oracle 数据类型中如何使用 ...

  3. JDBC与Mysql,Oracle数据类型之间的对应关系

    2019独角兽企业重金招聘Python工程师标准>>> MySql数据类型参考:http://www.runoob.com/mysql/mysql-data-types.html M ...

  4. oracle中sql命令分为几类,常用sql命令@oracle数据类型概括@权限、角色、用户的创建于使用@伪列及其注意事项-Oracle...

    常用sql命令@oracle数据类型概括@权限.角色.用户的创建于使用@伪列及其注意事项 1.各种不同权限的用户 系统权限: 用户名:sys/system(用户名默认的是 sys,system);密码 ...

  5. java实体属性对应mysql和SQL Server 和Oracle 数据类型对应

    1:Java数据类型与MySql数据类型对照表 类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) VARCHAR L+N VARCHAR java.lang.String 12 ...

  6. Oracle数据类型(转)

    Character 数据类型 Character 数据类型用来存储字母数字型数据.当你在oracle 中定义一个character 数据时,通常需要制定字段的长度,它是该字段的最大长度.ORACLE提 ...

  7. Oracle 11G R2 RAC中的scan ip 的用途和基本原理【转】

    Oracle 11G R2 RAC增加了scan ip功能,在11.2之前,client链接数据库的时候要用vip,假如你的cluster有4个节点,那么客户端的tnsnames.ora中就对应有四个 ...

  8. Oracle数据类型简介【转贴】

    为什么80%的码农都做不了架构师?>>>    Oracle数据类型简介 一.概述 在ORACLE8中定义了:标量(SCALAR).复合(COMPOSITE).引用(REFERENC ...

  9. Oracle数据类型Long需要注意的问题

    1.long是一个旧oracle数据类型,用于存储最多包含2GB数据的可变长度字符串,类似varchar2 2.不能在select语句的where子句中使用long 3.表不能有多个long列 4.不 ...

最新文章

  1. 系统内存信息获取工具类
  2. 华为云计算——FusionCompute创建虚拟机
  3. CSP认证201409-2 画图[C++题解]:模拟、图形的并
  4. 概率论-3.5 条件分布与条件期望
  5. 信息学奥赛一本通(1151:素数个数)
  6. Notepad++ 开启「切分窗口」同时检视、比对两份文件
  7. 美图2019年财报发布:“高级订阅”收入亮眼 成为重要商业模式
  8. 荣耀鸿蒙系统内测,官宣!荣耀 Magic UI 4.0 与 EMUI 11 同步内测:后续支持升级为鸿蒙操作系统...
  9. python获取当前日期的前一天爆炸_python蒙特卡洛脚本模拟—挑战者号爆炸概率
  10. git 修改.gitignore文件 不生效
  11. paip.分成系统会员推广分销系统的设计
  12. 百度音乐 android,百度音乐旧版本
  13. Java开发16个经典面试问题
  14. linux查看隐藏文件命令
  15. 计算机代码查重软件,文件查重程序
  16. java使用Aspose.pdf实现pdf转图片
  17. Resultful API
  18. 你还记得当年高考时的样子吗?
  19. python bins分箱,划分数值区间
  20. 特斯拉新能源汽车遍地开花 汽车品牌纷纷建立电动化品牌战略

热门文章

  1. mPaas上线应用检测
  2. 如何开通实时计算 Flink 版?
  3. 亿级搜索系统的基石,如何保障实时数据质量?
  4. 含代码 | 支付宝如何优化移动端深度学习引擎?
  5. php静态函数作用,php – OOP中静态函数有什么用?
  6. PMP每日三题(2022年2月15日)
  7. Kafka跨集群迁移方案MirrorMaker原理、使用以及性能调优实践
  8. firewall详解
  9. 服务器linux centos 7.4 搭建ftp服务器
  10. 修改mac的hosts文件