• 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,内容如下:

    数据库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<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中追加数据库连接的配置

      <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

  • 相关阅读:
    swing加载图片
    能有效解决问题的提问方法
    资源在线汇总
    如何赢得别人的尊重
    算法总结
    软件工程概述
    java语言基础汇总
    DEBUG技巧汇总
    web技术发展历程
    java中BufferedImage类的用法
  • 原文地址:https://www.cnblogs.com/wang_yb/p/2103368.html
Copyright © 2020-2023  润新知