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


    Posted on 2011-07-11 20:31 wang_yb
    为了方便部署连接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

  • 相关阅读:
    MyBatis3-实现多表关联数据的查询
    MyBatis3-实现单表数据的增删查改
    MyBatis3-以接口方式编程
    如何识别人的技术能力和水平?
    评审的艺术——谈谈现实中的代码评审 专题
    Spring编程式和声明式事务实例讲解
    Spring Webflux: Kotlin DSL [片断]
    Spring3.1 对Bean Validation规范的新支持(方法级别验证)
    Android setImageResource与setImageBitmap的区别
    Android开发中,9-patch (九宫格)图片作为背景带来的问题
  • 原文地址:https://www.cnblogs.com/kingangWang/p/2706274.html
Copyright © 2020-2023  润新知