.NET framework访问Oracle的几种方法
首先介绍下开发环境:WIn10 64bit+Visual Studio 2015+Oracle10ClientWin32(只是客户端,如果安装整个数据库也是可以的)
目前了解C#中连接Oracle数据库的方法有3种,分布是微软的System.Data.OracleClient,Oracle的Oracle.DataAccess.Client和Oracle的Oracle.ManagedDataAccess.dll(最优)
1.微软的System.Data.OracleClient可以直接引用,但是VS会提示“System.Data.OracleClient.OracleConnection”已过时,这表明微软自己都不建议使用了,所以知道就可以了,不必使用
2.C#使用Oracle.DataAccess.Client也叫ODP.net,他是Oracle提供的数据库访问类库,其功能和效率上都有所保证,它还有一个非常方便特性:在客户端上,可以不用安装Oracle客户端,直接拷贝即可使用。由于微软在.net framework4中会将System.Data.OracleClient.dll deprecated,而且就访问效率和速度而言,System.Data.OracleClient.dll与Oracle.DataAccess.dll相比,微软的确实没有oracle提供的类库有优势,所以我放弃了使用多年的System.Data.OracleClient.dll,取而代之的是odp.net。然而odp.net的优点不止这些,还包括:
1)不在安装客户端也能访问服务器上的oracle(假设Application Server与DB Server 分开)
2)不需要配置TnsNames.Ora文件
具体的使用方法请参考这位大侠的 http://blog.csdn.net/rrrrssss00/article/details/7178515/
还有这位大侠的 http://blog.csdn.net/sumirry/article/details/46746331
如果项目要从System.Data.OracleClient.OracleConnection转Oracle.DataAccess.Client时,只需要在oracle 安装目录下 找到 Oracle.DataAccess.dll添加引用,后 using Oracle.DataAccess.Client;
其他的都不用动,即可。
连接字符串中 如有 用的是 user=xxx 就改成user id=xxx把原来 Using 的System.Data.OracleClient去掉即可。
3.重点学习最后一种Oracle.ManagedDataAccess.dll,第二种的优点很多,但是也有缺点,就是要区分用区分x86/x64版本。
下载dll和使用方法参考这位大侠的 http://www.cnblogs.com/yjmyzz/archive/2013/11/01/3400999.html
.NET framework访问Oracle的几种方法的更多相关文章
- 64位 SQL Server2008链接访问Oracle 过程汇总解决方法记录
64位 SQL Server2008链接访问Oracle 过程汇总解决方法记录 经过几天不停的网上找资料,实验,终于联通了. 环境:系统:win 2008 ,SqlServer2008 R2, 连接O ...
- jdbc连接oracle的三种方法
jdbc连接oracle的三种方法 使用service_name,配置方式:jdbc:oracle:thin:@//<host>:<port>/<service_name ...
- Phonegap通过JS访问本地接口的两种方法
Phonegap为跨设备的应用开发提供了一个解决方案.如果某个应用只有js和html,则可以通过Phonegap的在线build工具,编译出多个平台的app安装包.当然通过Phonegap提供的js可 ...
- oracle基于3种方法的大数据量插入更新
过程插入更新的3种方法: a.逐条检查插入或更新,同时执行插入或更新 b.逐条merge into(逐条是为了记录过程日志与错误信息) c.基于关联数组的检查插入.更新,通过forall批量sql执行 ...
- MFC_对话框_访问控件_7种方法_A
访问对话框控件的七种方法 方法一. GetDlgItem()->GetWindowText(); GetDlgItem()->SetWindowText(); 方法二. GetDlgIte ...
- c#访问Oracle问题及解决方法
Q:访问oracle 查询条件带汉字结果集为空的问题 A:数据库连接字符串中加入Unicode=true即可. 如 <add key="DbConnectionString" ...
- C# Entity Framework 更新数据的三种方法
例: 实体类: public class TestDbContext : DbContext { public DbSet<Test> Tests { get; set; } public ...
- Android访问WebService的两种方法
首先解释一下WebService:WebService是一种基于SOAP协议的远程调用标准.通过WebService可以将不同操作系统平台,不同语言.不同技术整合到一起.详细见:http://baik ...
- Excel导入oracle的几种方法
http://www.jb51.net/list/list_154_1.htm 方法一.使用SQL*Loader这个是用的较多的方法,前提必须oracle数据中目的表已经存在.大体步骤如下:1.将ex ...
随机推荐
- 在下载SOPC代码的过程中遇到的一些错误
(1)Error (209015): Can't configure device. Expected JTAG ID code 0x02D120DD for device 2, but found ...
- part2
一. 列表.元组操作 切片:取多个元素 #!/usr/bin/env python # _*_ coding:utf-8 _*_ #切片:取多个元素 names = ['cai','xiao','lo ...
- Intellij IDEA常用快捷键介绍 Intellij IDEA快捷键大全汇总
其他的快捷键还有很多,象Ctrl+G(跳转到指定行).Ctrl+F4(关闭当前编辑页面).Ctrl+F(搜索)等等,这些快捷键由于是各个编辑器都会提供的,而且定义的键位也都差不多,就没什么可说的了: ...
- 关于Qrc文件的用法
在python文件xxx.py中调用资源文件,一般来说,需要将资源放在xxx.py的相同目录下:然而,当在xxx.py下建立一个统一目录/rec则需要建立xxx.qrc文件才能让xxx.py调用,调用 ...
- Sql Server数据库之多表查询
一.连接查询 概念:根据两个表或多个表的列之间的关系,从这些表中查询数据 目的:实现多表查询操作 语法:From join_table join_type join_table[ON(join_con ...
- NetworkStream介绍说明
如果服务器和客户端之间基于TCP连接的,他们之间能够依靠一个稳定的字节流进行相互传输信息,这也是NetworkStream的最关键的作用,有了这个神奇的协议,NetWorkStream便能向其他流一样 ...
- foreach和List.Foreach 退出循环相关问题
foreach: continue;:退出本次循环 break;:退出循环 return;:退出循环 List.Foreach: return;:退出本次循环 小结:list.Foreach中不能退出 ...
- Game Engine Architecture 2
[Game Engine Architecture 2] 1.endian swap 函数 floating-point endian-swapping:将浮点指针reinterpert_cast 成 ...
- Java Web解决跨域请求
要知道跨域请求就要先了解同源策略,那么什么是同源?什么是不同源?简单来说就是,如果两个资源,包括HTML页面.JavaScript脚本.css样式,对应的协议.域名和端口完全相同,那么这两个资源就是同 ...
- step_by_step_ABP规约模式
一段时间没有在github 上浏览ABP项目,几天前看到ABP新增规约模式,开始了解并学习文档 记录一下 Introduction 介绍 Specification pattern is a pa ...