Oracle数据类型与.NET中的对应关系(转)
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中的对应关系(转)的更多相关文章
- Oracle数据类型与.NET中的对应关系
		
Oracle连接添加的引用不同,会存在数据类型不同以及其他一些差别,就工作中遇到的问题暂时总结下. 两种不同的添加引用语句: (1)System.Data.OracleClient; (2)Oracl ...
 - SQL Server和Oracle数据类型对应关系
		
在工作中,有时会遇到跨库传输数据的情况,其中 SQL Server 和 Oracle 之间的数据传输是比较常见的情况. 因为 SQL Server 和 Oracle 的数据类型有些差异,这就要求我们在 ...
 - 【2016-11-3】【坚持学习】【Day18】【Oracle  数据类型 与C#映射关系】
		
大部分类型的对应关系:原文:http://2143892.blog.51cto.com/2133892/499353 序号 Oracle数据类型 .NET类型 GetOracleValue类型 DbT ...
 - java实体属性对应mysql和SQL Server 和Oracle 数据类型对应
		
1:Java数据类型与MySql数据类型对照表 类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) VARCHAR L+N VARCHAR java.lang.String 12 ...
 - mysql 和 Oracle 数据类型对照
		
MySQL与Oracle两种数据库在工作中,都是用的比较多的数据库,由于MySQL与Oracle在数据类型上有部分差异,在我们迁移数据库时,会遇上一定的麻烦,下面介绍MySQL与Oracle数据库数据 ...
 - Oracle 数据类型 与C#映射关系
		
大部分类型的对应关系:原文:http://2143892.blog.51cto.com/2133892/499353 序号 Oracle数据类型 .NET类型 GetOracleValue类型 DbT ...
 - oracle数据类型
		
本文转自:http://blog.csdn.net/defonds/article/details/4302695 谢谢原文作者 有道是,磨刀不误砍柴工.多了解一些底层的东西,对于Oracle开发.维 ...
 - oracle 数据类型详解---日期型(转载)
		
oracle 数据类型详解---日期型 oracle数据类型看起来非常简单,但用起来会发现有许多知识点,本文是我对ORACLE日期数据类型的一些整理,都是开发入门资料,与大家分享: 注:由于INTER ...
 - Oracle EBS Web ADI 中的术语
		
Oracle EBS Web ADI 中的术语 (版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处:否则请与本人联系,违者必究) 异步调用异步调用是这样子的,和引入接口表中的数 ...
 
随机推荐
- Java—NumberFormat与DecimalFormat类
			
1.NumberFormat表示数字的格式化类 NumberFormat表示数字的格式化类,即:可以按照本地的风格习惯进行数字的显示. No. 方法 类型 描述 1 public static Loc ...
 - linux中运行python
			
1.在终端中输入: python **.py 2.最爽的方法: emacs中配置python运行环境.
 - 内存操作相关内核 API 的使用
			
1.RtlCopyMemory .RtlCopyBytes.RtlMoveMemory: 2.RtlZeroMemory.RtlFillMemory: 3.RtlEqualMemory: 4.ExAl ...
 - c++中的名字查找
			
参看下面链接:<C++中的名字查找>
 - Catch That Cow(BFS)
			
Catch That Cow Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
 - Hdu1089
			
#include <stdio.h> int main() { int a,b; while(scanf("%d %d",&a,&b)!=EOF){ p ...
 - POJ 1564 Sum It Up(DFS)
			
Sum It Up Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit St ...
 - Bulk-Only传输协议 UFI命令块规范
			
USB设备分为5大类,即显示器.通信设备.音频设备.人机输入和海量存储.通常所用的U盘.移动硬盘均属于海量存储类.海量存储类的规范中包括4个独立的子规范,即CBI传输.Bulk-Only传输.ATA命 ...
 - Qt学习(四)—实例涂鸦画板mspaint
			
一.Qt图形绘制 自己在Qt开源社区在自学yafeilinux前辈的<Qt快速入门系列教程>中的图形篇,结合所学的知识,可以做一个涂鸦板实例 二.实现涂鸦板 1.新建工程mspaint, ...
 - Silverlight 结合ArcGis 使用inforwindow
			
原文 http://www.dotblogs.com.tw/justforgood/archive/2012/05/10/72089.aspx 也许有些人不知道什么事inforwindow,简单来说就 ...