C#连接Oracle的实例教程

互联网 17-6-29
这篇文章主要介绍了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();  }

以上就是C#连接Oracle的实例教程的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: oracle
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:ASP.NET Core简单介绍教程(1)_实用技巧

相关资讯