Oracle数据访问组件 (ODAC)  全称:Oracle Data Access Components

优点:由于微软在.net framework4中会将System.Data.OracleClient.dll deprecated,而且就访问效率和速度而言,System.Data.OracleClient.dll与Oracle.DataAccess.dll相比,微软的确实没有oracle提供的类库有优势,所以我放弃了使用多年的 System.Data.OracleClient.dll,取而代之的是odp.net。

1. ODAC的安装

服务器端:0racle10g,11g 都行

客户端:Oracle11g,我下载的是ODAC 11.2 Release 5 and Oracle Developer Tools for Visual Studio (11.2.0.3.20),oracle10g的可以安装,但是里面缺少自定义类型的对应对象,且只支持vs2003和vs2005,所以我选择用的是oracle11g的版本ODAC 11.2 Release 5 and Oracle Developer Tools for Visual Studio (11.2.0.3.20),下载地址http://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.html

2.环境变量的设置

(1)新建ORACLE_HOME:ODAC的安装目录(类似~app\Administrator\product\ .1.0\client_1,我这里的安装目录是G:\app\Administrator\product\11.2.0\client_2)

注:本机装Oracle服务端此项为空,否则监听服务无法启动、PLSQL Developer连接异常。

(2)新建LD_LIBRARY_PATH:%ORACLE_HOME%   (If Linux)

(3)新建TNS_ADMIN: %ORACLE_HOME%(这里是监听设置,应该是tnsnames.ora的目录,我设置的是G:\oracle\product\10.2.0\db_1\NETWORK\ADMIN,当然也可以将配置好的tnsnames.ora文件拷贝到%ORACLE_HOME%目录下)

(4)在PATH的最前面追加:%ORACLE_HOME%(安装ODAC后自动追加)

(5)如果PLSQL Developer无法连接Oracle,则设置PLSQL Developer的Oracle主目录名:

工具—>首选项

3.vs2010中建立与oracle的连接

在vs的菜单栏中点击视图—>服务器资源管理器,在服务器资源管理器面板中选择数据连接,右键添加连接

点击数据源的更改按钮,在弹出的更改数据源框中选择Oracle数据库,数据提供程序,选择Oracle Date Provider for.NET 。

在数据源名称的下拉列表框中选择数据源名称,这个的名称都是在tnsnames.ora配置好的,输入用户名密码,点击确定即可建立vs与oracle的连接。

最后可以使用这里的工具对oracle数据库进行操作,包括复杂的自定义对象类建立具体操作见《pro odp.net for oracle database11g》第14章ODT.NET Tool Basics

备注:环境变量设置

1.将OracleClient和OracleClient/bin添加到Path环境变量

2.添加TNS_ADMIN环境变量指daotnsnames.ora所在路径

.Net+EF连接Oracle 10、11 开发,ODAC安装配置与使用详解的更多相关文章

  1. win7 PLSQL Developer 10/11/12 连接 Oracle 10/11/12 x64位数据库配置详解(与32位一样,只要注意对应Oracle Instant Client版本) tns 错误和 nls错误

    环境win7 x64 PLSQL Developer 10 与 11 Oracle Instant Client 10 与 12 参考http://blog.csdn.net/chen_zw/arti ...

  2. 升级10.11.6后CocoaPods的坑,之前10.11.4已经安装好的,居然没了Failed to locate Homebrew!

    升级10.11.6后CocoaPods的坑,之前10.11.4已经安装好的,居然没了,用命令 sudo gem install cocoapod 装不上,换 sudo gem install -n/u ...

  3. [ 转载 ] Java开发中的23种设计模式详解(转)

    Java开发中的23种设计模式详解(转)   设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类 ...

  4. oracle 重置序列从指定数字开始的方法详解

    原文 oracle 重置序列从指定数字开始的方法详解 重置oracle序列从指定数字开始 declare n ); v_startnum ):;--从多少开始 v_step ):;--步进 tsql ...

  5. 最锋利的Visual Studio Web开发工具扩展:Web Essentials详解

    原文:最锋利的Visual Studio Web开发工具扩展:Web Essentials详解 Web Essentials是目前为止见过的最好用的VS扩展工具了,具体功能请待我一一道来. 首先,从E ...

  6. Windows7 x64 跨平台开发环境安装配置

    ======================================================================= Windows7 x64 跨平台开发环境安装配置 201 ...

  7. 全网最详细的PLSQL Developer + Oracle client的客户端 或者 PLSQL Developer + Oracle server服务端的下载与安装过程(图文详解)

    不多说,直接上干货! 环境说明: 本地没有安装Oracle服务端,oracle服务端64位,是远程连接,因此本地配置PLSQL Developer64位. Oracle database使用在本机部署 ...

  8. 使用Navicat或者其他数据库工具连接阿里云EDS(数据库服务器)实例过程详解

    使用Navicat或者其他数据库工具连接阿里云EDS(数据库服务器)实例过程详解 背景:这几天从阿里云上面购买了云服务器,最垃圾的那种,还送oss和EDS数据库服务器,只不过EDS数据库服务器只有一个 ...

  9. Eclipse进行C/C++开发——Eclipse+CDT+MinGW的配置与使用详解

    http://hi.baidu.com/ltb6w/item/3a51f11926fda60ce75c361d Eclipse进行C/C++开发——Eclipse+CDT+MinGW的配置与使用详解 ...

随机推荐

  1. [转]CSS目标伪类E:target

    CSS3 target 伪类不得不说那些事儿(纯CSS实现tab切换) 是不是觉得target有点眼熟?! 今天要讲的不是HTML的<a>标签里面有个target属性. target伪类是 ...

  2. JavaScript 函数方法 - bind()

    Function.prototype.bind() ECMAScript5中新增的方法,但是在ECMAScript3可以通过模仿实现其方法作用 作用: bind() 方法会创建一个新函数,当这个新函数 ...

  3. Android-Context的IO功能

    如何将应用数据保存到本地文件?如何从本地文件加载数据到应用中?我实现的步骤是: 应用(java数据)<--org.json-->JSONString<--Context.IO--&g ...

  4. C#操作Flash动画

    对于在C#开发的过程中没有接触过Flash相关开发的人员来说,没有系统的资料进行学习,那么这篇文档针对于初学者来说是很好的学习DEMO. 本文章中的DEMO实现了C#的COM控件库中本来就带有对fla ...

  5. hdu1054 树状dp

    B - 树形dp Crawling in process... Crawling failed Time Limit:2000MS     Memory Limit:10000KB     64bit ...

  6. eclipse添加xsd

    图片参考 http://wenku.baidu.com/link?url=DFHWF_yD-M-GCt2tfjs1npPs1xhNlyxik7i_pCBjw3oVlbssYrMvLNucuUpKg75 ...

  7. AngularJS中的控制器示例_3

    <!doctype html> <html ng-app="myApp"> <head> <script src="C:\\Us ...

  8. 深入理解 静态类和静态字段(C# 基础)

    序言 以前,总是被提醒,在编程过程中尽量少用静态变量,数据丢失什么的,今天有空,禁不住对静态变量的强烈好奇,跟我一起了解下静态家族的内幕吧. 静态类 定义 静态类与非静态类的重要区别在于静态类不能实例 ...

  9. DataTable中数据针对某列数据去重

    //针对这些数据进行去重,取某一列就用这一列字段,把重复的去掉 DataSet ds = dao.get(); DataTable dt = ds.Table[0] DataView dv = dt. ...

  10. Yoga安装Ubuntu后,wifi和亮度调节问题

    http://askubuntu.com/questions/318608/lenovo-yoga-13-realtek-wireless-driver/358479#358479 http://it ...