目前了解C#中连接Oracle数据库的方法有3种,分布是微软的System.Data.OracleClient,Oracle的Oracle.DataAccess.Client和Oracle的Oracle.ManagedDataAccess.dll(最优)

1.System.Data.OracleClient

.微软的System.Data.OracleClient可以直接引用,但是VS会提示“System.Data.OracleClient.OracleConnection”已过时,这表明微软自己都不建议使用了,所以知道就可以了,不必使用

2.Oracle.DataAccess.Client

C#使用Oracle.DataAccess.Client也叫ODP.net,他是Oracle提供的数据库访问类库,其功能和效率上都有所保证,它还有一个非常方便特性:在客户端上,可以不用安装Oracle客户端,直接拷贝即可使用。由于微软在.net framework4中会将System.Data.OracleClient.dll deprecated,而且就访问效率和速度而言,System.Data.OracleClient.dll与Oracle.DataAccess.dll相比,微软的确实没有oracle提供的类库有优势,所以我放弃了使用多年的System.Data.OracleClient.dll,取而代之的是odp.net。然而odp.net的优点不止这些,还包括:
1)不在安装客户端也能访问服务器上的oracle(假设Application Server与DB Server 分开)
2)不需要配置TnsNames.Ora文件

具体的使用方法请参考这位大侠的  http://blog.csdn.net/rrrrssss00/article/details/7178515/

还有这位大侠的 http://blog.csdn.net/sumirry/article/details/46746331

如果项目要从System.Data.OracleClient.OracleConnection转Oracle.DataAccess.Client时,只需要在oracle 安装目录下 找到 Oracle.DataAccess.dll添加引用,后 using Oracle.DataAccess.Client;
其他的都不用动,即可。
连接字符串中 如有 用的是 user=xxx 就改成user id=xxx把原来 Using 的System.Data.OracleClient去掉即可。

3.Oracle.ManagedDataAccess.dll

重点学习最后一种Oracle.ManagedDataAccess.dll,第二种的优点很多,但是也有缺点,就是要区分用区分x86/x64版本。

下载dll和使用方法参考这位大侠的  http://www.cnblogs.com/yjmyzz/archive/2013/11/01/3400999.html.

使用方法:

1.dll下载:http://files.cnblogs.com/yjmyzz/Oracle.ManagedDataAccess.zip

2.可以直接添加引用

3.使用代码:

using System;
using System.Data;
using Oracle.ManagedDataAccess.Client; namespace ODP.NET
{
class Program
{
static void Main(string[] args)
{
OracleConnection conn = null;
try
{
conn = OpenConn();
var cmd = conn.CreateCommand();
cmd.CommandText = "select * from s_awb_master where rownum=1";
cmd.CommandType = CommandType.Text;
var reader = cmd.ExecuteReader();
while (reader.Read())
{
Console.WriteLine(string.Format("AwbPre:{0},AwbNo:{1}", reader["AwbPre"], reader["AwbNo"]));
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
CloseConn(conn);
}
Console.Read();
} static OracleConnection OpenConn()
{
OracleConnection conn = new OracleConnection();
conn.ConnectionString = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=***.***.***.***)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=***)));Persist Security Info=True;User ID=***;Password=***;";
conn.Open();
return conn;
} static void CloseConn(OracleConnection conn)
{
if (conn == null) { return; }
try
{
if (conn.State != ConnectionState.Closed)
{
conn.Close();
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
finally
{
conn.Dispose();
}
}
}
}

**使用方法:https://www.cnblogs.com/yjmyzz/archive/2013/11/01/3400999.html

摘自:https://www.cnblogs.com/yjmyzz/archive/2013/11/01/3400999.html

https://www.cnblogs.com/masonlu/p/7514942.html

C#连接Oracle数据库的方法的更多相关文章

  1. [C#.Net]C#连接Oracle数据库的方法

    首先介绍下开发环境:WIn10 64bit+Visual Studio 2015+Oracle10ClientWin32(只是客户端,如果安装整个数据库也是可以的) 目前了解C#中连接Oracle数据 ...

  2. C#连接Oracle数据库的方法(Oracle.DataAccess.Client也叫ODP.net)

    官方下载地址(ODP.net)(中文):http://www.oracle.com/technetwork/cn/topics/dotnet/downloads/index.html 官方下载地址(O ...

  3. LOADRUNNER连接ORACLE数据库的方法

    LOADRUNNER连接ORACLE数据库的方法     最近正在做一个测试数据库性能的项目,直接写出来的连接数据库并且进行数据库查询和插入的脚本在VUSER_INIT中(连接数据库)#include ...

  4. 用ASP.Net(C#)连接Oracle数据库的方法及实例

    今天看了一下asp.net连接oracle数据库的方法,得到了如下代码.这段代码打开了MyTable表,并把操作员的名字列出.字段类型是OracleString.读取的时候用的是字段编号,我不知道怎么 ...

  5. C#连接Oracle数据库的方法(System.Data.OracleClient、Oracle.DataAccess.Client也叫ODP.net、Oracle.ManagedDataAccess.dll)

    官方下载地址(ODP.net)(中文):http://www.oracle.com/technetwork/cn/topics/dotnet/downloads/index.html 官方下载地址(O ...

  6. VS2010下连接Oracle数据库的方法

    在vs2010下使用OleDB连接Oracle数据库 ——此方法不需要配置数据源. 1. 在“服务器资源管理器”中,选择“数据库连接”,右击,选择“添加连接”. 2. 出现下面的界面,并按图中选择“用 ...

  7. 不安装Oracle客户端使用PLSQL连接Oracle数据库的方法

    1,下载PL\SQL http://dl8.cr173.com/soft1/PLSQLDeveloper10_ha.zip(这个是我下载的,带破解和汉化); 2,下载完后傻瓜式安装 ,这里说下,1是P ...

  8. php连接oracle数据库的方法

    1.在php.ini中打开extension=php_oci8扩展,重启服务. 2.将php/ext目录下的php_oci8.dll文件拷贝到system32目录下 3.安装 Oracle9i客户端精 ...

  9. java代码连接oracle数据库的方法

    oracle连接数据库的方式和mysql是大同小异的,主要的困难点在于oracle的数据库驱动包和依赖只有官方提供,如果你是用maven添加依赖的话,需要自己从官网下载jar包安装到你本地的maven ...

随机推荐

  1. pwn学习日记Day13 《程序员的自我修养》读书笔记

    重定位就是把程序的逻辑地址空间变换成内存中的实际物理地址空间的过程.它是实现多道程序在内存中同时运行的基础.重定位有两种,分别是动态重定位与静态重定位. 静态重定位:即在程序装入内存的过程中完成,是指 ...

  2. 最新react-native(Expo)安装使用antd-mobile-rn组件库

    1\安装antd-mobile-rn 库 npm install antd-mobile-rn --save 2.按需加载 npm install babel-plugin-import --save ...

  3. C++ STL 排序

    #include <iostream>#include <algorithm>#include <deque>#include <vector>#inc ...

  4. spring常用模式--模板模式

    引入:这几天在看一本讲spring源码的书<SPRING技术内幕>里面在讲加载配置文件的时候,可以有不同的加载方式,如根据文件系统目录加载配置文件(FileSystemXmlApplica ...

  5. [C++]单源最短路径:迪杰斯特拉(Dijkstra)算法(贪心算法)

    1 Dijkstra算法 1.1 算法基本信息 解决问题/提出背景 单源最短路径(在带权有向图中,求从某顶点到其余各顶点的最短路径) 算法思想 贪心算法 按路径长度递增的次序,依次产生最短路径的算法 ...

  6. mysql查看数据库所占用的空间

    查询某个表所占用的磁盘空间大小: SELECT CONCAT(ROUND(SUM(data_length/1024/1024),2),'MB') AS data_length_MB, CONCAT(R ...

  7. 配置Xmanager远程登录

    1.修改/etc/gdm/custom.conf文件找到下面的语句:[security]AllowRemoteRoot=true[xdmcp]Enable=true修改custom.conf后,必须重 ...

  8. Pocsuite3--编写破壳CVE-2014-6271_Shellshock的POC

    前言 编写破壳CVE-2014-6271_Shellshock的POC,把公开出来的路径封装起来,作为Pocsuite3的验证POC 情况1:网站无法访问,返回失败 情况2:网站可以访问,无漏洞 情况 ...

  9. 深度优先dfs与广度bfs优先搜索总结+例题

    DFS(Deep First Search)深度优先搜索 深度优先遍历(dfs)是对一个连通图进行遍历的算法.它的思想是从一个顶点开始,沿着一条路一直走到底,如果发现不能到达目标解,那就返回到上一个节 ...

  10. 最新 房多多java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.房多多等10家互联网公司的校招Offer,因为某些自身原因最终选择了房多多.6.7月主要是做系统复习.项目复盘.LeetCo ...