查看: 3617|回复: 0

[.NET开发] C#连接Oracle的方法实例总结

发表于 2018-2-9 08:00:00

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

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

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

2.

  1. using System.Data.OracleClient;
复制代码

3.

  1. string connString = "User ID=IFSAPP;Password=IFSAPP;Data Source=RACE;";
  2. OracleConnection conn = new OracleConnection(connString);
  3. try
  4. {
  5. conn.Open();
  6. MessageBox.Show(conn.State.ToString());
  7. }
  8. catch (Exception ex)
  9. {
  10. ShowErrorMessage(ex.Message.ToString());
  11. }
  12. finally
  13. {
  14. conn.Close();
  15. }
复制代码

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

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

2.

  1. using System.Data.OracleClient;
复制代码

3.

  1. 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)))";
  2. OracleConnection conn = new OracleConnection(connString);
  3. try
  4. {
  5. conn.Open();
  6. MessageBox.Show(conn.State.ToString());
  7. }
  8. catch (Exception ex)
  9. {
  10. ShowErrorMessage(ex.Message.ToString());
  11. }
  12. finally
  13. {
  14. conn.Close();
  15. }
复制代码

三、通过System.Data.OleDb和Oracle公司的驱动

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

2.

  1. using System.Data.OleDb;
复制代码

3.

  1. 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)))";
  2. OleDbConnection conn = new OleDbConnection(connString);
  3. try
  4. {
  5. conn.Open();
  6. MessageBox.Show(conn.State.ToString());
  7. }
  8. catch (Exception ex)
  9. {
  10. ShowErrorMessage(ex.Message.ToString());
  11. }
  12. finally
  13. {
  14. conn.Close();
  15. }
复制代码

四、通过System.Data.OleDb和微软公司的Oracle驱动

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

2.

  1. using System.Data.OleDb;
复制代码

3.

  1. 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)))";
  2. OleDbConnection cnn = new OleDbConnection(connString);
  3. try
  4. {
  5. conn.Open();
  6. MessageBox.Show(conn.State.ToString());
  7. }
  8. catch (Exception ex)
  9. {
  10. ShowErrorMessage(ex.Message.ToString());
  11. }
  12. finally
  13. {
  14. conn.Close();
  15. }
复制代码

备注:

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目录下面的配置

  1. Oracle.RACE =
  2. (DESCRIPTION=
  3. (ADDRESS_LIST=
  4. (ADDRESS=
  5. (PROTOCOL=TCP)
  6. (HOST=127.0.0.1)
  7. (PORT=1521)
  8. )
  9. )
  10. (CONNECT_DATA=
  11. (SID=RACE)
  12. (SERVER=DEDICATED)
  13. )
  14. )
复制代码

Oracle.RACE为连接字符串名称,可以随便取。等号后面的字符串可以在Enterprise Manager Console工具中连接数据库后的TNS描述符中拷过来

4. 引用Oracle.DataAccess命名空间

5.

  1. using Oracle.DataAccess.Client;
复制代码

6. 示例代码:

  1. string connString = "DATA SOURCE=Oracle.RACE;PERSIST SECURITY INFO=True;USER ID=IFSAPP;password=IFSAPP";
  2. OracleConnection conn = new OracleConnection(connString);
  3. try
  4. {
  5. conn.Open();
  6. OracleCommand cmd = new OracleCommand(cmdText,conn);
  7. OracleDataReader reader = cmd.ExecuteReader();
  8. this.DataGridView1.DataSource = reader;
  9. this.DataGridView1.DataBind();
  10. }
  11. catch (Exception ex)
  12. {
  13. ShowErrorMessage(ex.Message.ToString());
  14. }
  15. finally
  16. {
  17. conn.Close();
  18. }
复制代码

六、使用第三方驱动

第三方驱动有 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.

  1. using Devart.Data.Oracle;
复制代码

3.

  1. OracleConnection conn = new OracleConnection();
  2. conn.ConnectionString = "";
  3. conn.Unicode = true;
  4. conn.UserId = "IFSAPP";
  5. conn.Password = "IFSAPP";
  6. conn.Port = 1521;
  7. conn.Server = "127.0.0.1";
  8. conn.Sid = "RACE";
  9. try
  10. {
  11. conn.Open();
  12. //execute queries, etc
  13. }
  14. catch (Exception ex)
  15. {
  16. ShowErrorMessage(ex.Message.ToString());
  17. }
  18. finally
  19. {
  20. conn.Close();
  21. }
复制代码

更多关于C#相关内容感兴趣的读者可查看本站专题:《C#程序设计之线程使用技巧总结》、《C#操作Excel技巧总结》、《C#中XML文件操作技巧汇总》、《C#常见控件用法教程》、《WinForm控件用法总结》、《C#数据结构与算法教程》、《C#数组操作技巧总结》及《C#面向对象程序设计入门教程》

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

您可能感兴趣的文章:

  • C#利用ODP.net连接Oracle数据库的操作方法
  • C#连接Oracle数据库的实例方法
  • 深入分析C#连接Oracle数据库的连接字符串详解
  • c#中oracle的to_date函数使用方法
  • C# Oracle数据库操作类实例详解
  • c#实现的操作oracle通用类
  • C#实现远程连接ORACLE数据库的方法
  • C#调用Oracle存储过程的方法
  • C#连接Oracle数据库的方法
  • 用C#将图片保存至Oracle BLOB字段中的方法
  • mvc C# JavaScript LigerUI oracle实现用户的注册、登陆验证、登陆
  • c#几种数据库的大数据批量插入(SqlServer、Oracle、SQLite和MySql)


回复

使用道具 举报