前言

本文涉及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)的更多相关文章

  1. 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 ...

  2. Oracle Data Provider for .NET的使用(托管与非托管(一))

    目录 简单的概述 简单的使用 非托管系统要求 托管驱动系统要求 其它的注意事项 ODP.NET版本说明 安装ODP.NET 安装非托管驱动 非托管驱动绿色配置 简单的概述 ODP.NET的含义是 Or ...

  3. Oracle Data Provider for .NET 的使用经验

    原文:Oracle Data Provider for .NET 的使用经验 Oracle Data Provider for .NET 是Oracle提供的基于Ado.net接口的一个开发包.    ...

  4. Oracle Data Provider for .NET Support for Microsoft .NET Core

    Oracle Data Provider for .NET Support for Microsoft .NET Core的官方地址,记录下来,按照官方描述,会在2017年底左右发布,暂时还没有看到相 ...

  5. Oracle Data Provider for .NET的使用(二)-驱动更换与注意事项

    上篇说过了ODP的安装与配置 ,但是个人比较喜欢托管类型的,毕竟非托管类型的,因为考虑到会有用户或者是服务器或者是开发人员有32位的机器,就要强制编译平台平台为32位,只因为这个驱动,有点让人不愉快了 ...

  6. PLSQL Developer安装、配置、连接oracle数据库

    0.资源准备 1) PLSQL Developer安装包(由于安装包超过10M,无法上传,请自行下载) 2) instantclient_11_2安装包(由于安装包超过10M,无法上传,请自行下载) ...

  7. 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 ...

  8. Oracle Data Provider for .NET的使用(三)-ORACLE与.NET类型对应关系

    想来这个是最重要的事情了,因为多数情况下,我们使用dbhelper来调用数据库的时候,是因为如下三个地方导致错误: 1.错误的sql语句:末尾多了分号,少了部分关键字 2.sql中的参数与parame ...

  9. Oracle Data Provider for .NET

    官方地址: http://www.oracle.com/technetwork/topics/dotnet/index-085163.html 终于有正式版了.不用装客户端,又小,确实好.

随机推荐

  1. python之socket运用2

    今天实现在客户端和服务端之间进行持续的通信 客户端代码 import socket ip_port = ("127.0.0.1",3000) sk = socket.socket( ...

  2. pyhon模块之日志模块

    #Auther Bob#--*--coding:utf-8--*-- import logging #python一共有5个级别的日志,debug.info.warning.error.critica ...

  3. tmpFile.renameTo(classFile) failed解决

    完整异常: 严重: Servlet.service() for servlet [bjbr] in context with path [/HerPeisWechat] threw exception ...

  4. IDEA 工具下导出文件及文件的目录结构插件

    idea导出增量补丁插件 有时候需要导出IDEA的文件目录结构,即导出  指定修改后的JAVA文件编译后的CLASS .或者是修改过的jsp.配置文件等, 装载此插件,即可以完成导出文件  及文件的目 ...

  5. metasploit 利用MS08-067渗透攻击xp系统全过程

    工具:metasploit,目标系统 windows xp sp3 English 渗透攻击过程 1.search MS08-067 2. use  exploit/windows/smb/ms08_ ...

  6. python使用input()来接受字符串时一直报错“xxx is not defined”

    报错信息: “Please input your guess: gussTraceback (most recent call last):  File "coinGuessGame.py& ...

  7. 解决 cmake_symlink_library: System Error: Operation not supported

    在编译uchardet时遇到这个错误: cmake_symlink_library: System Error: Operation not supported 创建链接不成功,要确认当前帐户下是否有 ...

  8. 《JavaScript高级程序设计》笔记

    1. 当在函数内部定义了其他函数时,就创建了闭包.闭包有权访问包含函数内部的所有变量. 2. 闭包可以分隔变量空间,不会占用全局空间而造成相互间的干拢.使用闭包可以在JavaScript中模仿块级作用 ...

  9. 2018.09.29 bzoj3885: Cow Rectangles(悬线法+二分)

    传送门 对于第一个问题,直接用悬线法求出最大的子矩阵面积,然后对于每一个能得到最大面积的矩阵,我们用二分法去掉四周的空白部分来更新第二个答案. 代码: #include<bits/stdc++. ...

  10. 【转】关于编译链接——gcc/g++

    添加运行时共享库目录 运行使用共享库的程序需要加载共享库(不同于G++ 编译时指定的链接库),添加共享库的步骤: 修改文件 /etc/ld.so.conf 添加共享库目录 运行 ldconfig 同步 ...