C#利用ODP.net连接Oracle数据库

本文介绍了C#连接Oracle数据库的过程。通过instant client和ODP.net中的Oracle.DataAccess.dll,我们就可以方便的部署.net应用程序或者站点,而不需要安装Oracle客户端。接下来我们就介绍这一过程。

1. ODAC的安装

在oracle的官方网站上下载与你安装的oracle对应版本的ODAC。

下载地址:ODAC Download
下载好后解压安装,安装时不用安装全部的组件。主要安装以下组件:

  • Oracle Instant Client
  • Oracle Data Provider For .net2.0
  • Oracle rovider For Asp .net

2. 环境变量的设置

设置Windows的环境变量:

ORACLE_HOME :ODAC的安装目录(类似 ~\app\Administrator\product\11.1.0\client_1);

LD_LIBRARY_PATH :%ORACLE_HOME%;

TNS_ADMIN : %ORACLE_HOME%;

在PATH的最前面追加:%ORACLE_HOME%;

3. 监听文件tnsnames.ora的配置

在目录%ORACLE_HOME%下新建文件tnsnames.ora,内容如下:

 
 
 
  1. 数据库SID =
  2.   (DESCRIPTION =
  3.    (ADDRESS_LIST =
  4.       (ADDRESS = (PROTOCOL = TCP)(HOST = Oracle主机名或者IP)(PORT = 1521))
  5.     )
  6.     (CONNECT_DATA =
  7.       (SERVICE_NAME = 数据库SID)
  8.     )
  9. )

4. plsqldev

这样配置好后,plsqldev就可以连接上oracle数据库了。

5. C#连接Oracle

C#连接oracle的示例代码如下:

 
 
 
  1. OracleConnection conn =
  2.     new OracleConnection();
  3. try
  4. {
  5.     conn.ConnectionString = ConfigurationManager.ConnectionStrings["oradb"].ConnectionString;
  6.     conn.Open();
  7.     string sql = " select id,content from test"; // C#
  8.     OracleCommand cmd = new OracleCommand(sql, conn);
  9.     cmd.CommandType = CommandType.Text;
  10.     OracleDataReader dr = cmd.ExecuteReader(); // C#
  11.     List contents = newList();
  12.     while(dr.Read())
  13.     {
  14.         contents.Add(dr["content"].ToString());
  15.     }
  16.     listBox1.ItemsSource = contents;
  17. }
  18. catch(Exception ex)
  19. {
  20.     MessageBox.Show(ex.Message);            
  21. }
  22. finally
  23. {
  24.     conn.Clone();
  25. }

在程序app.config或者web.config中追加数据库连接的配置。

 
 
 
  1.   
  2.        (ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.1)(PORT=1521)))
  3.        (CONNECT_DATA=(SERVICE_NAME=****)));
  4.        User Id=***;Password=***;"/>

按照上述的步骤执行,如果没有错误,就可以成功地连接数据库了。

分享名称:C#利用ODP.net连接Oracle数据库
浏览地址:http://www.shufengxianlan.com/qtweb/news45/329045.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联