通过NuGet安装和配置ODP.NET(Oracle Data Provider for .NET)
前言
本文涉及ODP.NET、ODP.NET的托管(managed)驱动、Entity Framework的托管驱动 这三部分的下载、安装、配置。
1、简介
NuGet 是.NET的软件开发包管理工具,它生成并使用这些开发包,包括非微软的软件开发包,例如ODP.NET。NuGet Gallery 是驻存和使用这些开发包的"仓库"。
通过使用ODP.NET、托管的驱动和ODP.NET、托管的EF驱动,开发者可以快速开始ODP.NET和EF的应用程序开发。在Visual Studio中,ODP.NET 的相关开发包的 下载、安装 、配置 这些动作是自动完成的。
本文将新建一个项目,完成ODP.NET的安装,并能运行EF6应用。在开始这个项目前,甚至不需要额外单独安装ODP.NET、Oracle Client、Entity Framework。
注意:32位的ODT(Oracle Developer Tools for Visual Studio),请从这里下载。在使用EF 或 一些 Visual Studio 的设计时特性时(如 TableAdapter 向导),会用到ODT。而通过NuGet下载的ODP.NET、托管驱动等,仅支持运行时,不支持设计时特性。
2、运行环境
- Visual Studio 2013 以上 , .NET Framework 4 以上
- Oracle Database 11g Release 2 以上版本
- 注意:在开始前,不需要单独安装 ODP.NET和EF,这些将在本文的实际操作中进
二、新建项目
新建控制台类型的新工程,命名为NuGet,如下:

三、NuGet 安装和配置ODP.NET
1、在解决方案里右击References并选择Manage NuGet Packages,如图

2、选择Browse选项签,在搜索框中输入“Oracle”,分别选择 Oracle.ManagedDataAccess 和 Oracle.ManagedDataAccess.EntityFramework 并安装,如下图

请注意,本步操作会将开发包依赖的相关程序集如ODP.NET、Managed Driver and EF6一起下载下来,并通过NuGet 自动安装配置。
在安装过程中弹出的许可声明条款,要记得点‘I Accept’。
3、看到程序包边上绿色的小图标,表示安装成功,可以关闭NuGet窗口了。

4、展开References,验证ODP.NET 和 Entity Framework 是否正确被加载到项目里,如果存在,则证明这些程序集被正确的下载和安装了。

5、打开app.config,检查一下这些程序集是否完成自动配置

注意到了吗? ODP.NET 和 Entity Framework 已经被添加到配置信息中去了。托管的ODP.NET不需要安装Oracle Client
6、最后一步是配置数据库链接,配置信息跟你的具体应用环境有关。示例配置信息已经添加了,你可以在此基础上根据自己的环境更改配置参数。
a、链接描述配置信息在 <dataSources>配置节下。根据你的数据库链接描述信息更改Host、Port、Service_Name信息。可以更改SampleDataSource 别名(假设改为ORCLTEST),以重新命名这条配置。
b、ODP.NET 的连接字符在<connectionStrings>配置节下,修改 User Id and Password 用以连接数据库。Data Source 的值应改为链接描述信息配置节的别名(此例应为ORCLTEST)

至此,ODP.NET安装配置完成,可以编写和运行任何ODP.NET 以及 EF6 的相关应用了。
下一篇,将讲述如何使用这个环境进行Code First 的开发。
通过NuGet安装和配置ODP.NET(Oracle Data Provider for .NET)的更多相关文章
- Oracle Data Provider for .NET now on NuGet
Oracle Data Provider for .NET now on NuGet 时间 2015-03-02 22:30:00 Oracle Bloggers原文 http://cshay.b ...
- Oracle Data Provider for .NET的使用(托管与非托管(一))
目录 简单的概述 简单的使用 非托管系统要求 托管驱动系统要求 其它的注意事项 ODP.NET版本说明 安装ODP.NET 安装非托管驱动 非托管驱动绿色配置 简单的概述 ODP.NET的含义是 Or ...
- Oracle Data Provider for .NET 的使用经验
原文:Oracle Data Provider for .NET 的使用经验 Oracle Data Provider for .NET 是Oracle提供的基于Ado.net接口的一个开发包. ...
- Oracle Data Provider for .NET Support for Microsoft .NET Core
Oracle Data Provider for .NET Support for Microsoft .NET Core的官方地址,记录下来,按照官方描述,会在2017年底左右发布,暂时还没有看到相 ...
- Oracle Data Provider for .NET的使用(二)-驱动更换与注意事项
上篇说过了ODP的安装与配置 ,但是个人比较喜欢托管类型的,毕竟非托管类型的,因为考虑到会有用户或者是服务器或者是开发人员有32位的机器,就要强制编译平台平台为32位,只因为这个驱动,有点让人不愉快了 ...
- PLSQL Developer安装、配置、连接oracle数据库
0.资源准备 1) PLSQL Developer安装包(由于安装包超过10M,无法上传,请自行下载) 2) instantclient_11_2安装包(由于安装包超过10M,无法上传,请自行下载) ...
- Oracle Data Provider for .NET – Microsoft .NET Core and Entity Framework Core
http://www.oracle.com/technetwork/topics/dotnet/tech-info/odpnet-dotnet-ef-core-sod-4395108.pdf Orac ...
- Oracle Data Provider for .NET的使用(三)-ORACLE与.NET类型对应关系
想来这个是最重要的事情了,因为多数情况下,我们使用dbhelper来调用数据库的时候,是因为如下三个地方导致错误: 1.错误的sql语句:末尾多了分号,少了部分关键字 2.sql中的参数与parame ...
- Oracle Data Provider for .NET
官方地址: http://www.oracle.com/technetwork/topics/dotnet/index-085163.html 终于有正式版了.不用装客户端,又小,确实好.
随机推荐
- 查看sqlserver所有存储过程、视图等脚本语句
sqlserver上右击——任务——生成脚本 下一步——选择特定数据库对象 导出即可
- 清空表中数据 id从1开始
删除表的记录以后,如何使新记录的编号仍然从1开始有两种方法: 方法1: truncate table 你的表名 --这样不但将数据删除,而且可以重新置位identity属性的字段. 方法2: dele ...
- 18-javaweb-ssm 开发中错误总结
由于web课设于是,写了几天的javaweb,在写的过程中总会遇到奇奇怪怪的一些bug, 一般都得花很多时间解决. 但是解决多了,后面碰到类似的简单多了. 总结下: 一.前端错误: 1.js错误,看前 ...
- Apache Cordova vs Adobe PhoneGap: the differences and which one to use
http://www.makehybridapps.com/2014/06/09/cordova-vs-phonegap-the-differences-and-which-one-to-use/
- PAT 1055 集体照 (25)(STL-list+代码)
1055 集体照 (25)(25 分)提问 拍集体照时队形很重要,这里对给定的N个人K排的队形设计排队规则如下: 每排人数为N/K(向下取整),多出来的人全部站在最后一排: 后排所有人的个子都不比前排 ...
- [Selenium] CSS3 选择器
在 CSS 中,选择器是一种模式,用于选择需要添加样式的元素. "CSS" 列指示该属性是在哪个 CSS 版本中定义的.(CSS1.CSS2 还是 CSS3.) 选择器 例子 例子 ...
- php连接mssql
首先修改php.ini,将下行的前的分号去掉. extension=php_mssql.dll 由于本机没有安装客户端,所以要将ntwdblib.dll复制到C:\WINDOWS\system32目录 ...
- 为了记忆和方便翻阅 vue构建后的结构目录说明
一. ├── build // 项目构建(webpack)相关代码 记忆:(够贱) 9个 │ ├── build.js // 生产环 ...
- php 事务处理,ActiveMQ的发送消息,与处理消息
可以通过链式发送->处理->发送...的方式处理类似事务型业务逻辑 比如 发送一个注册消息,消息队列处理完注册以后,紧接着发送一个新手优惠券赠送,赠送完再发一个其它后续逻辑处理的消息等待后 ...
- Yii框架请求
$request = Yii::$app->request; $get = $request->get(); // 等价于: $get = $_GET; $id = $request-&g ...