zoukankan      html  css  js  c++  java
  • Oracle

    一.System.Data.OracleClient 微软提供的连接库,不过已经过时,不建议使用

    二.Oracle.DataAccess.Client (ODP.Net) Oracle提供的数据库访问类库.

    三.Oracle.ManagedDataAccess.dll (ODP.NET Managed) 也是Oracle提供的。

    推荐使用方案3,但是使用ManagedDataAccess的话,必须添加对程序集“netstandard”的引用,而这个程序集又是FrameWork 4.6及以上才有的,

    所以笔者这用的.net框架FrameWork 4.5的项目并不能使用, 采用方案二来处理,方案二是需要区分x86/x64版本的.

    1.去官网下载需要的dll文件。

    http://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.html 

    下载对应的vs版本的dll文件,如果vs版本太低,就下载最老的dll文件,笔者下载的最老的: ODAC 11.2 Release 5 

    在下载的ODTwithODAC1120320_32bit文件夹下找到所需的dll文件(jar压缩包用解压工具解压):

    文件 路径 备注
    oci.dll ~stageComponentsoracle.rdbms.rsf.ic11.2.0.3.01DataFilesfilegroup2.jar 原文件叫oci.dll.dbl,把后面的扩展名去掉
    ociw32.dll ~stageComponentsoracle.rdbms.rsf.ic11.2.0.3.01DataFilesfilegroup2.jar 原文件叫ociw32.dll.dbl,把后面的扩展名去掉
    Oracle.DataAccess.dll ~stageComponentsoracle.ntoledb.odp_net_211.2.0.3.01DataFilesfilegroup2.jar  
    orannzsbb11.dll ~stageComponentsoracle.rdbms.rsf.ic11.2.0.3.01DataFilesfilegroup1.jar  
    oraocci11.dll ~stageComponentsoracle.rdbms.rsf.ic11.2.0.3.01DataFilesfilegroup3.jar  
    oraociei11.dll ~stageComponentsoracle.rdbms.ic11.2.0.3.01DataFilesfilegroup3.jar  
    oraociicus11.dll ~stageComponentsoracle.rdbms.ic11.2.0.3.01DataFilesfilegroup4.jar  
    OraOps11w.dll ~stageComponentsoracle.ntoledb.odp_net_211.2.0.3.01DataFilesfilegroup16.jar  

     将这些dll文件放到项目运行的bin目录下,和运行文件同一目录。

    文件不齐全,引发错误:The provider is not compatible with the version of Oracle client 

    缺少oraociei11.dll ,引发错误:ORA-12737: Instant Client Light: unsupported server character set %s

    项目中添加Oracle.DataAccess.dll的引用

    数据库连接语句:

      <connectionStrings>
        <add name="OracleConnString" connectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.161)(PORT=1521))(CONNECT_DATA=(SID=MyOracle)));Persist Security Info=True;User ID=system;Password=Sky312;"/>
      </connectionStrings>

    C#调用:using Oracle.DataAccess.Client;

    private readonly string connstr = ConfigurationManager.ConnectionStrings["OracleConnString"].ConnectionString;
    
    string sql = "SELECT * FROM "UserInfo"   ";
    
    OracleConnection connection = new OracleConnection(connstr);
    connection.Open();
    OracleCommand command = new OracleCommand(sql, connection);
    
    DataTable table = null;
    
    try
    {
        OracleDataAdapter adapter = new OracleDataAdapter();
        adapter.SelectCommand = command;
        table = new DataTable();
        adapter.Fill(table);
    }
    catch
    {
        throw;
    }
    finally
    {
        command.Dispose();
        connection.Close();
        connection.Dispose();
    }
    dataGridView1.DataSource =
    table;

    查询

  • 相关阅读:
    【模板】对拍程序
    【洛谷比赛】Agent1
    【NOIP2017】宝藏
    【NOIP2017】逛公园
    【NOIP2016】换教室
    【NOIP模拟】挖宝藏
    【NOIP模拟】健美猫
    【NOIP2014】飞扬的小鸟
    【NOIP2015】子串
    【CQOI2007】余数求和
  • 原文地址:https://www.cnblogs.com/sky-gfan/p/8819569.html
Copyright © 2011-2022 走看看