通过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 终于有正式版了.不用装客户端,又小,确实好.
随机推荐
- Spring依赖注入servlet会话监听器
Spring提供了一个 “ContextLoaderListener” 监听器,以使 Spring 依赖注入到会话监听器. 在本教程中,通过添加一个 Spring 依赖注入一个bean 到会话监听器修 ...
- oracle基本查询入门(一)
一.基本select语句 SELECT *|{[DISTINCT] column|expression [alias], ...} FROM table; 例如: --查询所有数据 select * ...
- vue-cli启动本地服务,局域网下通过ip访问不到的原因
1.问题描述: 新开发了一个vue-cli项目,想通过手机查看效果,发现访问不到,ip地址和端口号都没错但是手机访问不到,在本机电脑浏览器输入ip端口号一样访问不到,只能通过localhost:808 ...
- BZOJ 1211[HNOI2004]树的计数 - prufer数列
描述 一个有n个结点的树,设它的结点分别为v1, v2, …, vn,已知第i个结点vi的度数为di,问满足这样的条件的不同的树有多少棵.给定n,d1, d2, …, dn,编程需要输出满足d(vi) ...
- HTML5新特性:范围样式
原文出处:http://blog.csdn.net/hfahe/article/details/7381141 Chromium 最近实现了一个HTML5的新特性:范围样式,又叫做< ...
- KOBAS
1. What is KOBAS 3.0? KOBAS (KEGG Orthology Based Annotation System) is a web server for gene/protei ...
- EnrichPipeline文档
https://sourceforge.net/projects/enrichmentpipeline/
- java,arduino,C#之间的一些编码转换
1.C#-> Encoding.UTF8.GetBytes( "abc中") ->[97,98,99,228,184,173] java->byte[] bs= ...
- GitBash入门
转载自:http://www.cnblogs.com/randomsteps/p/5415116.html 作为一个初学者,我是跟着廖学峰老师的官方博客学习,这里只是做个笔记,哈哈,关于git的历史. ...
- 基于SceneControl单击查询功能的实现
private void HandleIdentify_MouseDown(object sender, ISceneControlEvents_OnMouseDownEvent e) { this. ...