以前用Oracle的时候,必须得装他臃肿的客户端,网上虽然也有提供直连Oracle的驱动,但也是要收费的,最近Oracle终于开窍了,提供了官方的全托管驱动。

这次是随Oracle ODAC 12c 发布包中包含的oracle全托管驱动,之前Oracle已经发布了两个Beta版本的全托管驱动,但在测试中确实也发现了一些问题,这次发布的12.1.0.1.0 貌似已经是Release正式版了,经过简单的测试,上一个版本我所碰到的Bug已经被修复,目前未发现有什么新的问题,推荐大家使用。

下载地址:http://www.oracle.com/technetwork/topics/dotnet/downloads/index.html

方法一:

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Oracle.ManagedDataAccess.Client;
using Oracle.ManagedDataAccess.Types;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string strConn = "User Id=test;password=test;" +
                             "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.120.1)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=orcl)));" +
                             "Pooling=false;";
 
            using (OracleConnection con = new OracleConnection(strConn))
            {
                con.Open();
 
                string strSQL = "select * from USERS order by ID";
 
                OracleCommand cmd = new OracleCommand(strSQL, con);
 
                OracleDataReader reader = cmd.ExecuteReader();
 
                while (reader.Read())
                {
                    string line = "";
                    for (int i = 0; i < reader.FieldCount; i++)
                    {
                        line += reader.GetName(i).ToString() + "=" + reader.GetValue(i).ToString() + " ";
                    }
                    Console.WriteLine(line);
                }
            }
 
            Console.ReadLine();
        }
    }
}

方法二:

修改连接字符串为

 
1
2
3
            string strConn = "User Id=test;password=test;" +
                             "Data Source=192.168.120.1:1521/orcl;" +
                             "Pooling=false;";

这种写法比较简单,但如果有多个地址就不适用了。

方法三:

在下载的Oracle.ManagedDataAccess压缩包中,\network\admin\sample目录下有一个tnsnames.ora的文件,修改此文件配置数据库的监听信息,将该文件拷贝到应用程序根目录下。

 
1
2
3
string strConn = "User Id=test;password=test;" +
                             "Data Source=test;" +
                             "Pooling=false;";

ORACLE官方全托管驱动 Oracle.ManagedDataAccess 12.1.0.1.0的更多相关文章

  1. oracle全托管驱动Oracle.ManagedDataAccess

    oracle官方的托管驱动,发布只需一个6M多的dll,支持EF 支持分布式事务,使用步骤如下: 1,Download ODP.NET, Managed Driver .zip file to a d ...

  2. Oracle官方非托管Odac驱动与Oracle官方托管odac驱动

    方便自己,方便他人,记一次连接oracle的经历,使用 [Oracle官方非托管Odac驱动,Oracle.DataAccess.Client]连接数据库的时候程序会报错,找了很久都不知道是什么原因, ...

  3. C#使用托管程序连接Oracle数据库(Oracle.ManagedDataAccess.dll)

    一.概述 Oracle Data Provider for  .NET, Managed Driver: Oracle官方的托管数据库访问组件,单DLL,Oracle.ManagedDataAcces ...

  4. Oracle Business Intelligence Enterprise Edition 12.2.1.2.0 Books

    Oracle Business Intelligence Enterprise Edition 12.2.1.2.0 Books Documentation for Oracle Business I ...

  5. maven官方库中没有oracle jdbc驱动的问题解决

    1.找到可用的oracle jdbs驱动jar包文件,放置到指定目录(可根据实际自定义) D:\jdbc\ojdbc14.jar 2.安装好maven,主要是配置好环境变量 MAVEN_HOME='指 ...

  6. 解决maven官方库中没有oracle jdbc驱动的问题:Missing artifact com.oracle:ojdbc14:jar:10.2.0.1.0

    最近在整合SSHE项目时,想要添加Oracle驱动包时,Maven的pom.xml总是报Missing artifact com.oracle:ojdbc14:jar:10.2.0.1.0错, 下面我 ...

  7. Oracle .NET Core Beta驱动已出,自己动手写EF Core Oracle

    使用.net core也有一段时间了,一直都没有Oracle官方的正式版驱动程序,更别说EF版本了.之前基于Oracle官方的.net core预览版本写了个Dapper的数据库操作实现,但是总感觉不 ...

  8. Maven中央仓库正式成为Oracle官方JDBC驱动程序组件分发中心

    1. 前言 相信参与使用Oracle数据库进行项目开发.运维的同学常常被Oracle JDBC驱动的Maven依赖折磨.现在这一情况在今年二月份得到了改变,甲骨文这个老顽固终于开窍了. 一位甲骨文的工 ...

  9. 使用Oracle官方巡检工具ORAchk巡检数据库

    ORAchk概述 ORAchk是Oracle官方出品的Oracle产品健康检查工具,可以从MOS(My Oracle Support)网站上下载,免费使用.这个工具可以检查Oracle数据库,Gold ...

随机推荐

  1. flume--为搬砖而生,日志传输的一把好手

    (一)flume的产生 为什么会有flume 随着互联网的发展,人们对网络日志产生的信息也越来越重视.不仅如此,我们的服务器,比如Nginx,每天都会产生大量的日志.我们要将这些日志收集到指定的地方, ...

  2. pyquery:轻松、灵活的处理html

    介绍 pyquery是一个专门用来解析html的库,从名字很容易想到jQuery,没错,这完全是仿照jQuery的语法实现的.如果用过jQuery,那么pyquery也很容易上手 初始化html py ...

  3. traceback:让你更加灵活地处理python的异常

    异常 异常在python中是屡见不鲜了,程序在执行到某一行代码时,发现有问题,比如数组索引越界,变量没有定义啊等等,此时就会抛出异常 捕获异常 在python,一般都是使用try···except来对 ...

  4. 小程序UI设计(6)-布局分解-九宫格

    今天我们来个庖丁解牛.对于一个完整的组合组件,看看通过工具是如何轻松完成的.首先看看九宫格完整的样子. 结构树是这样的.在结构树中,我们可以看到WViewColumn下面有九个WViewRow.WVi ...

  5. spring ObjectFactory

    AspectJAwareAdvisorAutoProxyCreator implements PostProcessor postProcessorAfterInitialization(Object ...

  6. 高性能mysql 第6章 查询性能优化

    查询缓存: 在解析一个sql之前,如果查询缓存是打开的,mysql会去检查这个查询(根据sql的hash作为key)是否存在缓存中,如果命中的话,那么这个sql将会在解析,生成执行计划之前返回结果. ...

  7. Aspect表达式

    任意公共方法的执行:execution(public * *(..))任何一个以“set”开始的方法的执行:execution(* set*(..))AccountService 接口的任意方法的执行 ...

  8. grunt-contrib-compass 编译sass

    grunt-contrib-compass的作用是编译sass文件为css.使用该插件需要先安装sass和compass. (1)安装sassgem install sass(2)安装compassg ...

  9. Mybatis中通过父类/接口来限定类的别名(TypeAlias)配置

  10. 手写一个类加载器demo

    1.什么是类加载器? 2.加载方式 ClassLoader类加载器,主要的作用是将class文件加载到jvm虚拟机中.jvm启动的时候,并不是一次性加载所有的类,而是根据需要动态去加载类,主要分为隐式 ...