通过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 终于有正式版了.不用装客户端,又小,确实好.
随机推荐
- access数据库收缩(压缩)
一般是因为表中有大量没用的数据,把没用的数据全部删除 菜单栏的“工具”——“数据库实用工具”——“压缩和修复数据库” OK啦
- iOS - OC - 字典快速遍历
1. [dic enumerateKeysAndObjectsUsingBlock:^(id _Nonnull key, id _Nonnull obj, BOOL * _Nonnull stop ...
- [leetcode]173. Binary Search Tree Iterator 二叉搜索树迭代器
Implement an iterator over a binary search tree (BST). Your iterator will be initialized with the ro ...
- 43-python-自己的词典
可以用python实现一个自己的词典, 就是在网上下一个英汉词典,作为自己的词库,然后整理出一个json文件,存起来,查词时,直接读取查询: 处理时可以用正则表达式处理: https://www.cn ...
- vue2.0 tab切换几种方式
第一种 比较灵活简单的方式(切换改变部分的内容在组件中比较方便操作) <template> <div id="app"> <ul> <li ...
- Java 的CardPanel用法
Java code? 1 2 3 4 5 6 card = new CardLayout(5,5);//5,5是组件间隔 pane = new ...
- HBase Filter程序样例及Shell(图)
==过滤器执行流程== reset() : reset the filter state before filtering a new row. filterAllRemaining(): true ...
- C语言dos程序源代码分享(进制转换器)
今天给大家分享一个dos程序的源代码 这个程序是本人在学习中的经验分享 如果有问题或者建议,欢迎大家一起交流 源代码: /*本程序为一个进制转换器 本程序不作为商业用途,完全为技术交流 喜欢C语言的同 ...
- JavaScript 代码小片段
1.获取对象 obj 的所有属性(自有属性和继承属性),保存到数组 lst 中 //获取对象obj的所有属性(自有属性和继承属性),保存到数组lst 中 var lst = []; function ...
- hdu-1147(跨立实验)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1147 思路:判断每条线段,如果将要输入的线段和已经有的线段相交,则这条线段不算. 参考文章:https ...