.Net+EF连接Oracle 10、11 开发,ODAC安装配置与使用详解
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安装配置与使用详解的更多相关文章
- 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 ...
- 升级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 ...
- [ 转载 ] Java开发中的23种设计模式详解(转)
Java开发中的23种设计模式详解(转) 设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类 ...
- oracle 重置序列从指定数字开始的方法详解
原文 oracle 重置序列从指定数字开始的方法详解 重置oracle序列从指定数字开始 declare n ); v_startnum ):;--从多少开始 v_step ):;--步进 tsql ...
- 最锋利的Visual Studio Web开发工具扩展:Web Essentials详解
原文:最锋利的Visual Studio Web开发工具扩展:Web Essentials详解 Web Essentials是目前为止见过的最好用的VS扩展工具了,具体功能请待我一一道来. 首先,从E ...
- Windows7 x64 跨平台开发环境安装配置
======================================================================= Windows7 x64 跨平台开发环境安装配置 201 ...
- 全网最详细的PLSQL Developer + Oracle client的客户端 或者 PLSQL Developer + Oracle server服务端的下载与安装过程(图文详解)
不多说,直接上干货! 环境说明: 本地没有安装Oracle服务端,oracle服务端64位,是远程连接,因此本地配置PLSQL Developer64位. Oracle database使用在本机部署 ...
- 使用Navicat或者其他数据库工具连接阿里云EDS(数据库服务器)实例过程详解
使用Navicat或者其他数据库工具连接阿里云EDS(数据库服务器)实例过程详解 背景:这几天从阿里云上面购买了云服务器,最垃圾的那种,还送oss和EDS数据库服务器,只不过EDS数据库服务器只有一个 ...
- Eclipse进行C/C++开发——Eclipse+CDT+MinGW的配置与使用详解
http://hi.baidu.com/ltb6w/item/3a51f11926fda60ce75c361d Eclipse进行C/C++开发——Eclipse+CDT+MinGW的配置与使用详解 ...
随机推荐
- CSS 实现三角形、梯形、等腰梯形
三角形 ; width: 0px; border-width: 0px 30px 45px 145px; border-style: none solid solid; border-color: t ...
- ASP.net gridview控件RowEditing,RowUpdating,RowDeleting,RowCancelingEdit事件的触发
一.说明 在gridview中删除和更新行是常用的操作,RowEditing,RowUpdating,RowDeleting,RowCancelingEdit等事件是删除更新对应的事件.如果想要使用自 ...
- Code First 数据注释--InverseProperty 和 ForeignKey
ForeignKey 按照约定在Post类中看到BlogId属性,会认为是Blog类的外键,但是在Blog类中并没有BlogId属性,解决方法是,在 Post 中创建一个导航属性,并使用 Foreig ...
- IL(Intermediate Language)
释义: IL是.NET框架中中间语言(Intermediate Language)的缩写.使用.NET框架提供的编译器可以直接将源程序编译为.exe或.dll文件,但此时编译出来的程序代码并不是CPU ...
- Invalid content was found starting with element 'taglib'”
今天在使用struts-menu制作菜单,在web.xml中写入 <taglib> <taglib-uri>/WEB-INF/struts-menu.tld</ ...
- 18 java 代理模式 (转)
静态代理 1.新建一个接口,这个接口所提供的方法是关于数据库操作的 public interface EmployeeDao { public void updateSalary(); } 2.建一个 ...
- Linux知识扫盲
1.发现linux中好多软件以d结尾,d代表什么? d 代表 deamon 守护进程守护进程是运行在Linux服务器后台的一种服务程序.现在比较常用 是 service 这个词.它周期性地执行某种任务 ...
- c#类似单片机的8bit或运算
1.正确 PWMSUBM0 &= (byte)(PWMSUBM0 | 0xfc); PWMSUBM0 &= (byte)(PWMSUBM0 | (byte)0xfc); 2.不能编译的 ...
- [Leetcode] Remove Duplicates From Sorted Array II (C++)
题目: Follow up for "Remove Duplicates":What if duplicates are allowed at most twice? For ex ...
- javascript取消disabled属性
jQuery: $("#ID").attr("disabled",false);