本文转自:http://www.cnblogs.com/storys/archive/2013/03/06/2945914.html

一:通过System.Data.OracleClient(需要安装Oracle客户端并配置tnsnames.ora)
1. 添加命名空间System.Data.OracleClient引用
2. using System.Data.OracleClient;
3. 
string connString = "User ID=IFSAPP;Password=IFSAPP;Data Source=RACE;";
OracleConnection conn = new OracleConnection(connString);
try
{
    conn.Open();
    MessageBox.Show(conn.State.ToString());
}
catch (Exception ex)
{
    ShowErrorMessage(ex.Message.ToString());
}
finally
{
    conn.Close();
}

二:通过System.Data.OracleClient(需要安装Oracle客户端不需配置tnsnames.ora)
1. 添加命名空间System.Data.OracleClient引用
2. using System.Data.OracleClient;
3.
string connString = "User ID=IFSAPP;Password=IFSAPP;Data Source=(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = RACE)))";
OracleConnection conn = new OracleConnection(connString);
try
{
    conn.Open();
    MessageBox.Show(conn.State.ToString());
}
catch (Exception ex)
{
    ShowErrorMessage(ex.Message.ToString());
}
finally
{
    conn.Close();
}

三:通过System.Data.OleDb和Oracle公司的驱动----------> 一般用这种

1:下载驱动http://www.oracle.com/technetwork/database/windows/downloads/index-090165.html

2:我下载的ODAC112040Xcopy_64bit这个版本,版本过高或者过低都无法正常运行。下载后解压,然后执行批处理开始安装

install.bat all d:\oracle_odac odac 

-----------------------------------------------------------------------------
1. 添加命名空间System.Data.OracleClient引用
2. using System.Data.OleDb;
3.
string connString = "Provider=OraOLEDB.Oracle.1;User ID=IFSAPP;Password=IFSAPP;Data Source=(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = RACE)))";
OleDbConnection conn = new OleDbConnection(connString);
try
{
    conn.Open();
    MessageBox.Show(conn.State.ToString());
}
catch (Exception ex)
{
    ShowErrorMessage(ex.Message.ToString());
}
finally
{
    conn.Close();
}

四:通过System.Data.OleDb和微软公司的Oracle驱动
1. 添加命名空间System.Data.OracleClient引用
2. using System.Data.OleDb;
3.
string connString = "Provider=MSDAORA.1;User ID=IFSAPP;Password=IFSAPP;Data Source=(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = RACE)))";
OleDbConnection cnn = new OleDbConnection(connString);
try
{
    conn.Open();
    MessageBox.Show(conn.State.ToString());
}
catch (Exception ex)
{
    ShowErrorMessage(ex.Message.ToString());
}
finally
{
    conn.Close();
}

备注:
a.XP操作系统已经安装了微软公司的Oracle驱动C:\Program Files\Common Files\System\Ole DB\msdaora.dll
b.该驱动需要Oracle客户端的三个文件(oraocixe10.dll、oci.dll、ociw32.dll)放在System32下即可

五:使用ODP连接
1. 下载安装ODP.NET(http://www.oracle.com/technetwork/developer-tools/visual-studio/downloads/index.html)
2. 安装完全成后会产生一序列文件。
3. 找到这个安装目录,打开文件夹%ORACLE_HOME%\Network\Admin在这个下面建立一个tnsnames.ora的文件,其内容可以参考其下的Sample目录下面的配置
Oracle.RACE =
(DESCRIPTION=
   (ADDRESS_LIST=
     (ADDRESS=
       (PROTOCOL=TCP)
       (HOST=127.0.0.1)
       (PORT=1521)
     )
   )
   (CONNECT_DATA=
     (SID=RACE)
     (SERVER=DEDICATED)
   )
)
Oracle.RACE为连接字符串名称,可以随便取。等号后面的字符串可以在Enterprise Manager Console工具中连接数据库后的TNS描述符中拷过来
4. 引用Oracle.DataAccess命名空间
5. using Oracle.DataAccess.Client;
6. 示例代码:
string connString = "DATA SOURCE=Oracle.RACE;PERSIST SECURITY INFO=True;USER ID=IFSAPP;password=IFSAPP";
OracleConnection conn = new OracleConnection(connString);
try
{
    conn.Open();
    OracleCommand cmd = new OracleCommand(cmdText,conn);
    OracleDataReader reader = cmd.ExecuteReader();
    this.DataGridView1.DataSource = reader;
    this.DataGridView1.DataBind();
}
catch (Exception ex)
{
    ShowErrorMessage(ex.Message.ToString());
}
finally
{
    conn.Close();
}

六:使用第三方驱动
第三方驱动有 Devart,下载驱动 http://www.devart.com/dotconnect/oracle/,但是是商业版,需要购买许可或破解
连接格式 User ID=myUsername;Password=myPassword;Host=ora;Pooling=true;Min Pool Size=0;Max Pool Size=100;Connection Lifetime=0;
1. 引用Devart.Data.Oracle命名空间
2. using Devart.Data.Oracle;
3.
OracleConnection conn = new OracleConnection();
conn.ConnectionString = "";
conn.Unicode = true;
conn.UserId = "IFSAPP";
conn.Password = "IFSAPP";
conn.Port = 1521;
conn.Server = "127.0.0.1";
conn.Sid = "RACE";
try
{
    conn.Open();
    //execute queries, etc
}
catch (Exception ex)
{
    ShowErrorMessage(ex.Message.ToString());
}
finally
{
    conn.Close();
}

C# 连接 Oracle 的几种方式[转]的更多相关文章

  1. 连接Oracle的几种方式

    如何引用Data.OracleClient.dll 由于从.net 4.0之后,微软将OracleClient.dll从框架里去除了,所以要使用,需要在VS2010里面去把项目的.net框架从.net ...

  2. c#连接oracle的几种方式

    一:通过System.Data.OracleClient(需要安装Oracle客户端并配置tnsnames.ora)1. 添加命名空间System.Data.OracleClient引用2. usin ...

  3. java连接oracle的几种方式

    jdbc连接(驱动包ojdbc6.jar)String driver = "oracle.jdbc.OracleDriver"; //驱动标识符 String url = &quo ...

  4. [转]C# 连接 Oracle 的几种方式

    本文转自:http://www.cnblogs.com/storys/archive/2013/03/06/2945914.html 一:通过System.Data.OracleClient(需要安装 ...

  5. C# 连接 Oracle 的几种方式

    一:通过System.Data.OracleClient(需要安装Oracle客户端并配置tnsnames.ora)1. 添加命名空间System.Data.OracleClient引用2. usin ...

  6. 【转】C#工程连接oracle的一种方式

    源地址:https://blog.csdn.net/qq_16542775/article/details/52689068 项目中有个功能需要从一台Oracle数据库获取数据,本以为是很简单的事情, ...

  7. [C#.net]连接Oracle的几种方式

    一:通过System.Data.OracleClient(需要安装Oracle客户端并配置tnsnames.ora)1. 添加命名空间System.Data.OracleClient引用2. usin ...

  8. jdbc/ojdbc连oracle的三种方式(转)

    文章转自:http://blog.itpub.net/22664653/viewspace-1383092/ 前言  本文是一篇学习笔记,学习如何通过java jdbc /ojdbc 连接oracle ...

  9. jdbc连接oracle的三种方法

    jdbc连接oracle的三种方法 使用service_name,配置方式:jdbc:oracle:thin:@//<host>:<port>/<service_name ...

随机推荐

  1. codevs1011 数的计算 2001年NOIP全国联赛普及组

    题目描述 Description 我们要求找出具有下列性质数的个数(包含输入的自然数n): 先输入一个自然数n(n<=1000),然后对此自然数按照如下方法进行处理: 1.          不 ...

  2. Cocos2d-JS坐标系

    在图形图像和游戏应用开发中坐标系是非常重要的,我们在Android和iOS等平台应用开发的时候使用的二维坐标系它的原点是在左上角的.而在Cocos2d-JS坐标系中它原点是在左下角的,而且Cocos2 ...

  3. UI2_ButtonChess

    // // AppDelegate.m // UI2_ButtonChess // // Created by zhangxueming on 15/6/30. // Copyright (c) 20 ...

  4. 延迟加载(Lazy Load)

    一个对象,它虽然不包含所需要的所有数据,但是它知道怎么获取这些数据 设计专门的对象来把数据从DB中加载到内存中. 该对象可以完成在加载所需对象的同时,把与之相关的对象也一并加载了. 否则,必须显示加载 ...

  5. [javascript|基本概念|一元操作符]学习笔记

    只操作一个值的操作符 递增/递减操作符 前置型/后置型 前置型:操作符位于操作数前面 e.g.: var a = 30; ++a; 等同于 var a = 30; a = a + 1; --> ...

  6. 第一次使用easyUI

    一.项目结构图 二.在WebContent下新建resource文件夹,在resource底下创建easyui.将easyUI包放入其中. 三.在springMVC-servlet.xml写入资源路径 ...

  7. 转:Java HashMap实现详解

    Java HashMap实现详解 转:http://beyond99.blog.51cto.com/1469451/429789 1.    HashMap概述:    HashMap是基于哈希表的M ...

  8. 文件墙 CFilewall

    文件墙 CFilewall 记于 2013-09-26 == @[代码] [C#] []WPF] #### 使用了一些公司的组件和放大,但是不多,可以单独抽取出来 --- 程序结构 - Control ...

  9. git服务器简易搭建法

    受尽svn各种折磨的小伙伴都听说过git. 但是网上一搜索, 本来打算跟svn一样. 下一个服务器, 装下就可以开始用了. 没想到啊, 没想到. 居然需要Linux天赋点… 好吧, 拜鸟哥门下把Lin ...

  10. 用“逐步排除”的方法定位Java服务线上“系统性”故障(转)

    一.摘要 由于硬件问题.系统资源紧缺或者程序本身的BUG,Java服务在线上不可避免地会出现一些“系统性”故障,比如:服务性能明显下降.部分(或所 有)接口超时或卡死等.其中部分故障隐藏颇深,对运维和 ...