开发者社区> zting科技> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

C# 连接Oracle(利用ODP.net,不安装oracle客户端)

简介:
+关注继续查看

为了方便部署连接oracle的.net程序,oracle官方提供了一个简化版的client,即instant client

通过instant client和ODP.net中的Oracle.DataAccess.dll,我们就可以方便的部署.net应用程序或者站点。

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
2
3
4
5
6
7
8
9
数据库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的示例代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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<string> contents = new List<string>();
    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中追加数据库连接的配置

1
2
3
4
5
6
<connectionStrings>
  <add name="oradb" connectionString="Data Source=(DESCRIPTION=
       (ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.1)(PORT=1521)))
       (CONNECT_DATA=(SERVICE_NAME=****)));
       User Id=***;Password=***;"/>
</connectionStrings>

还可以参考官方的文档,不过是英文的,呵呵!

Build a .NET Application on the Oracle Database with Microsoft Visual Studio 2010



本文转自wang_yb博客园博客,原文链接:http://www.cnblogs.com/wang_yb/archive/2011/07/11/2103368.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
一个看似诡异的Oracle连接问题
   我们知道Oracle在启动的时,fork进程会根据ORACLE_SID来创建相关后台进程,而在Unix和Linux系统中,ORACLE SID和ORACLE_HOME在一起哈希后会得到一个唯一的值作为SGA的key。
901 0
Oracle 数据库性能优化3日实战(企业培训)
课程名称一: Oracle性能优化及调整 课程时长 1天 课程深度: 高级 上机实验: 10%-30% 授课对象: Oracle开发人员、Oracle数据库管理人员,应用程序开发人员 课程描述: 本课程讲述Oracle数据库物理层规划,系统性能的监控,数据库性能参数调整,统计信息的收集,使用自动化调试工具优化数据库,I/O子系统的配置与设计以及性能优化方法论等。
1827 0
Oracle 10g Express Edition(XE) 转至数据库主页中文乱码问题的解决
Oracle 10g Express Edition是Oracle专门为小型用户提供的免费版本。
886 0
+关注
3549
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载