这篇文章主要介绍了C#连接Oracle的方法,结合实例形式总结分析了几种常见的C#连接Oracle数据库的操作技巧与相关注意事项,需要的朋友可以参考下

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

一、通过System.Data.OracleClient(需要安装Oracle客户端并配置tnsnames.ora)

1. 添加命名空间System.Data.OracleClient引用

 using System.Data.OracleClient;
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引用

 using System.Data.OracleClient;
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引用

using System.Data.OleDb;
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引用

using System.Data.OleDb;
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(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命名空间

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,下载驱动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命名空间

using Devart.Data.Oracle;
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();}

更多相关文章

  1. 浅析Asp.Net使用Image/ImageButton空间显示本地图片的方法
  2. C++中动态内存分配与命名空间介绍
  3. XML中的命名空间的示例代码详解
  4. XML入门教程-XML名称空间详细介绍
  5. 详解XML命名空间(XML Namespaces)介绍以及节点读取方法的示例代码
  6. 关于XML中的名称空间的示例代码分享
  7. 详细介绍XML中名字空间的代码案例
  8. XML和Schema命名空间的详细介绍
  9. XML和Schema命名空间的具体实例代码分享

随机推荐

  1. Android Studio创建计算器Demo
  2. Android apk静默安装与卸载7.0 9.0
  3. 深入浅析Android的自定义布局
  4. android之webView加载javascropt
  5. struts2服务端与android交互
  6. android 透明度
  7. 关于Android中xml布局文件
  8. 基于Platinum库的DMR实现(android)
  9. android进度条的样式
  10. android ListView 中getview学习总结