Oracle数据类型与.NET中的对应关系 2011-02-24 10:02:16

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

(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中的对应关系(转)的更多相关文章

  1. Oracle数据类型与.NET中的对应关系

    Oracle连接添加的引用不同,会存在数据类型不同以及其他一些差别,就工作中遇到的问题暂时总结下. 两种不同的添加引用语句: (1)System.Data.OracleClient; (2)Oracl ...

  2. SQL Server和Oracle数据类型对应关系

    在工作中,有时会遇到跨库传输数据的情况,其中 SQL Server 和 Oracle 之间的数据传输是比较常见的情况. 因为 SQL Server 和 Oracle 的数据类型有些差异,这就要求我们在 ...

  3. 【2016-11-3】【坚持学习】【Day18】【Oracle 数据类型 与C#映射关系】

    大部分类型的对应关系:原文:http://2143892.blog.51cto.com/2133892/499353 序号 Oracle数据类型 .NET类型 GetOracleValue类型 DbT ...

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

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

  5. mysql 和 Oracle 数据类型对照

    MySQL与Oracle两种数据库在工作中,都是用的比较多的数据库,由于MySQL与Oracle在数据类型上有部分差异,在我们迁移数据库时,会遇上一定的麻烦,下面介绍MySQL与Oracle数据库数据 ...

  6. Oracle 数据类型 与C#映射关系

    大部分类型的对应关系:原文:http://2143892.blog.51cto.com/2133892/499353 序号 Oracle数据类型 .NET类型 GetOracleValue类型 DbT ...

  7. oracle数据类型

    本文转自:http://blog.csdn.net/defonds/article/details/4302695 谢谢原文作者 有道是,磨刀不误砍柴工.多了解一些底层的东西,对于Oracle开发.维 ...

  8. oracle 数据类型详解---日期型(转载)

    oracle 数据类型详解---日期型 oracle数据类型看起来非常简单,但用起来会发现有许多知识点,本文是我对ORACLE日期数据类型的一些整理,都是开发入门资料,与大家分享: 注:由于INTER ...

  9. Oracle EBS Web ADI 中的术语

    Oracle EBS Web ADI 中的术语 (版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处:否则请与本人联系,违者必究) 异步调用异步调用是这样子的,和引入接口表中的数 ...

随机推荐

  1. 截取NSString字符串

    NSString类中提供了这样三个方法用于获取子字符串: – substringFromIndex: – substringWithRange: – substringToIndex: 具体的使用见下 ...

  2. Unity轻量级依赖注入容器

    一.前言 Unity是一个轻量级的可扩展的依赖注入容器,支持构造函数,属性和方法调用注入.在Nuget里安装unity

  3. 使用Win32 API 查找文件

    头文件:#include <windows.h> //FindFirstFile() 获得指定目录的第一个文件 HANDLE FindFirstFile( LPCTSTR lpFileNa ...

  4. tomact虚拟目录,虚拟主机,http请求头,相应头

    tomact虚拟目录,虚拟主机,http请求头,相应头 07. 五 / J2EE / 没有评论   一.服务器,容器(软件)1.服务器:提供网络访问的程序2.容器:支持什么技术的服务器就叫做什么容器. ...

  5. python运维开发(十七)----jQuery续(示例)web框架django

    内容目录: jQuery示例 前端插件 web框架 Django框架 jQuery示例 dom事件绑定,dom绑定在form表单提交按钮地方都会绑定一个onclick事件,所有查看网站的人都能看到代码 ...

  6. 【3】python核心编程 第五章-数字

    1.用大写字母 “L”表示长整数 尽管 Python 也支持用小写字母 L 标记的长整型,但是我们郑重推荐您仅使用大写的 “L”, 这样能有效避免数字1 和小写L 的混淆.Python 在显示长整数类 ...

  7. Java 学习 第二篇;面向对象 定义类的简单语法:

    1:基本知识 [public / protected / private] class 类名 { 零个到多个构造器定义; 零个到多个属性; 零个到多个方法; } 其中类中各个成员之间的顺序没有关系,且 ...

  8. gcc的stdcall扩展

    MSVC上: 如果是函数调用约定直接就写 __stdcall 之类的就行了 如果是gcc上: 函数的扩展调用约定要这样写 __attribute__((__stdcall__)),默认为__attri ...

  9. C# Cookie编程

    Cookie,他最早出现是在Netscape Navigator 2.0中.Cookie其实就是由Web服务器创建的.将信息存储在机上的文件.那么为什么Web服务器要在客户机上面创建如此文件?这是因为 ...

  10. 一起来学canvas (前言)

    codeyy - 一依丫丫 一起来学canvas (前言)