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

1. ODAC的安装
在oracle的官方网站上下载与你安装的oracle对应版本的ODAC。
下载地址:ODAC Download
 下载好后解压安装,安装时不用安装全部的组件。主要安装以下组件:
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,内容如下:
- 数据库SID =
 - (DESCRIPTION =
 - (ADDRESS_LIST =
 - (ADDRESS = (PROTOCOL = TCP)(HOST = Oracle主机名或者IP)(PORT = 1521))
 - )
 - (CONNECT_DATA =
 - (SERVICE_NAME = 数据库SID)
 - )
 - )
 
4. plsqldev
这样配置好后,plsqldev就可以连接上oracle数据库了。
5. C#连接Oracle
C#连接oracle的示例代码如下:
- OracleConnection conn =
 - new OracleConnection();
 - try
 - {
 - conn.ConnectionString = ConfigurationManager.ConnectionStrings["oradb"].ConnectionString;
 - conn.Open();
 - string sql = " select id,content from test"; // C#
 - OracleCommand cmd = new OracleCommand(sql, conn);
 - cmd.CommandType = CommandType.Text;
 - OracleDataReader dr = cmd.ExecuteReader(); // C#
 - List
 contents = newList (); - while(dr.Read())
 - {
 - contents.Add(dr["content"].ToString());
 - }
 - listBox1.ItemsSource = contents;
 - }
 - catch(Exception ex)
 - {
 - MessageBox.Show(ex.Message);
 - }
 - finally
 - {
 - conn.Clone();
 - }
 
在程序app.config或者web.config中追加数据库连接的配置。
- (ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.1)(PORT=1521)))
 - (CONNECT_DATA=(SERVICE_NAME=****)));
 - User Id=***;Password=***;"/>
 
按照上述的步骤执行,如果没有错误,就可以成功地连接数据库了。
Copyright © 2009-2022 www.wtcwzsj.com 青羊区广皓图文设计工作室(个体工商户) 版权所有 蜀ICP备19037934号