zoukankan      html  css  js  c++  java
  • C#(.Net) 连接 ORACLE数据库

    使用oracle_instantclient连接ORACLE数据库

    oracle_instantclient在PL/SQL访问数据库时是非常方便的,只需要在PL/SQL的Refreence中配置Oracle Home和OCI Libary指定oracle instantclient目录和oci.dll文件即可访问数据库。开发的时候使用该方法同样是可以做到的。需要配置环境变量,在PATH路径中加入oracle instantclient目录(%ORACLE_HOME%),加入TNS_ADMIN为%ORACME%/Network/Admin,在该目录下为ORACLE的TNS配置。这样就可以通过Visual Stdio访问数据库了。需要记住的是,配置了环境变量需要重起开发环境。

    使用ORACLE Client连接ORACLE数据库

    在安装了ORACLE客户端软件之后,一般在注册表中已经注册了ORACLE_HOME环境变量,如

    HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/KEY_OraClient11g_home1

    这是我安装了ODP.NET 11.2.0.1.2之后在注册表中存在了,该是安装也会在PATH环境变量中加入该目录以及BIN目录。这样就需要在该客户端中Network/Admin添加tnsnames.ora文件,并添加TNS。

    1、System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本。

    该问题是因为OracleClient库找不到一个可用的客户软件,所以出现这样的错误,网上有因为程序路径有特殊字符也可能导致该是问题,或者权限问题,只要OracleClient(Data Provider)找不到数据库访问库,就会出现这个错误。

    在oracle instantclient方式中,如果没有配置PATH环境变量,将会出现该错误。一般情况下,安装了客户端是不会出现该是问题的。

    2、ORA-12154: TNS:could not resolve the connect identifier specified

    该错误是库没有找到连接库中的TNS名称,该问题在安装客户端之后,没有添加tnsnames.ora(安装时没有该文件,需要托运设置),添加正确的配置之后应该是可以访问的,当然,对于instantclient方式,需要添加TNS_ADMIN环境变量(记得重启开发环境)。

    另外,我是在VS2010开发环境下测试的,因为VS2010是使用.NET 4,并没有oracleclient库,需要将项目的.NET环境修改低一些,就可以添加该库,并做测试了。

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    C#获取当前日期时间(转)
    c#截取字符串split各种用法
    c#国际化
    C#密码加密
    c#程序中对密码进行加密的方法
    百度信誉认证体系初级实名认证即将取消,这意味着什么?
    新增利息宝-京东淘宝唯品会自动抢单系统源码搭建过程
    webapp/H5封装,混开APP,没有原生APP好?事实是这样的吗?
    laravel基础laravle中orm简单的增删改查-一颗优雅草男神你姚哥
    Thinkphp二次开发威客RW平台源码详细搭建教程(技术分享帖)-一颗优雅草科技yungui
  • 原文地址:https://www.cnblogs.com/yin138/p/4902265.html
Copyright © 2011-2022 走看看