zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    错误机制
    IO文件
    lua与c的交互(运用)
    lua与c的交互(函数专用)
    string库
    元表

    模块与包
    zsh终端下,配置环境变量使用~/.zshrc
    MX150+python3.7+CUDA10.0+Tensorflow-gpu1.13安装记录
  • 原文地址:https://www.cnblogs.com/wang_yb/p/2103368.html
Copyright © 2011-2022 走看看