C#连接Oracle的方法实例总结

 更新时间:2017年06月27日 11:40:09   作者:songkexin  
这篇文章主要介绍了C#连接Oracle的方法,结合实例形式总结分析了几种常见的C#连接Oracle数据库的操作技巧与相关注意事项,需要的朋友可以参考下

本文实例总结了C#连接Oracle的方法。分享给大家供大家参考,具体如下:

一、通过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. 添加命名空间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#相关内容感兴趣的读者可查看本站专题:《C#程序设计之线程使用技巧总结》、《C#操作Excel技巧总结》、《C#中XML文件操作技巧汇总》、《C#常见控件用法教程》、《WinForm控件用法总结》、《C#数据结构与算法教程》、《C#数组操作技巧总结》及《C#面向对象程序设计入门教程

希望本文所述对大家C#程序设计有所帮助。

相关文章

  • c#判断代码是否执行超时的几种方式总结

    c#判断代码是否执行超时的几种方式总结

    这篇文章主要介绍了c#判断代码是否执行超时的几种方式总结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • C#中执行批处理文件(*.bat)的方法代码

    C#中执行批处理文件(*.bat)的方法代码

    本文介绍一下在C#中执行批处理文件(*.bat)的方法。
    2013-03-03
  • C#关机小程序源码

    C#关机小程序源码

    这是用所学习的C#做的一个关机小程序,功能不多,只是为了练手,需要的朋友可以参考下
    2012-10-10
  • WPF开发之实现一种三轴机械手控件

    WPF开发之实现一种三轴机械手控件

    这篇文章主要为大家详细介绍了如何利用WPF实现简单一种三轴机械手控件,文中的示例代码讲解详细,对我们学习或工作有一定帮助,感兴趣的小伙伴可以了解一下
    2023-01-01
  • 仿orm自动生成分页SQL分享

    仿orm自动生成分页SQL分享

    平时接触的数据库有sql2000-2008,Oracle,SQLite 。 分页逻辑,Oracle和SQLite相对好写,就SQL事多,Sql2000下只能用top,排序2次,而Sql2005+就可以使用ROW_NUMBER()分析函数了,据说Sql2012对分页又有了改进
    2014-01-01
  • 将DLL放入到资源中,运行时自动加载的小例子

    将DLL放入到资源中,运行时自动加载的小例子

    这篇文章介绍了将DLL放入到资源中,运行时自动加载的小例子,有需要的朋友可以参考一下
    2013-10-10
  • C# lock线程锁的用法

    C# lock线程锁的用法

    在C#中,锁lock是一种同步机制,允许在同一时间只允许一个线程访问指定的代码或区域,本文主要介绍了C# lock线程锁的用法,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11
  • C#使用NAudio实现监听系统声音

    C#使用NAudio实现监听系统声音

    这篇文章主要为大家详细介绍了C#如何使用NAudio实现监听系统声音并屏蔽麦克风其他声音,文中的示例代码讲解详细,有需要的小伙伴可以参考下
    2024-02-02
  • C#图像识别 微信跳一跳机器人

    C#图像识别 微信跳一跳机器人

    这篇文章主要为大家详细介绍了C#图像识别,微信跳一跳机器人,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • c# 实现自动扫雷

    c# 实现自动扫雷

    这篇文章主要介绍了c# 实现自动扫雷的方法,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下
    2021-02-02

最新评论