• 连接Oracle错误:800a0e7a未找到提供程序的解决


    一、现象:

    C#程序中需要以Provider=OraOLEDB.Oracle.1方式访问ORACLE数据库。但程序执行时报异常:未在本地计算机注册“OraOLEDB.Oracle.1”提供程序

    二、解决方案:

    1、在Oracle安装目录找到Oracle的主程序目录,点击鼠标右键->属性->安全,对ASP.NET或者NETWORK SERVICE 帐户赋予允许读、执行权限,并在“高级”中保证该目录的子目录、文件都继承这些属性。

    2、服务器ORACLE为10g,虽然安装时选择了Oracle Data Provider for .net和Oracle Provider for OLE DB。但是还是需要人工命令行注册一下
    regsvr32 D:oracle10.2.0dbBINOraOLEDB10.dll。

    其他观点:
    解决方法如下:
    1)到ORACLE_HOME目录,如c:OracleOra92 点击鼠标右键->属性->安全, 对ASP.NET 帐户赋予允许读、执行权限,并在“高级”中保证该目录的子目录、文件都继承这些属性,确定。
    2)重新注册oraoledb.dll: regsvr32 $oracleora92inoraoledb.dll 2 这种情况有3种可能的原因 1.装Oracle 的机器是不是NTFS的?如果是的话,将Ora81下的BIN的权限,全部放开,给所有用户。 (不然在B/S结构下会因为没有权限访问目录而报这个错误) 2.如果数据库服务器是Oracle816的。在服务器的那台机器上找Ora81 etworkADMIN下的sqlnet.ora文件,把里面的 SQLNET.AUTHENTICATION_SERVICES= (NTS)改成 SQLNET.AUTHENTICATION_SERVICES= (NONE) (这种会造成某些机器上报驱动初始化失败的错误,在用OracleClient下出现过一次) 3.如果以上都没有解决问题。可以考虑是不是注册表里 ...

    参考出处:http://blog.sina.com.cn/s/blog_4d5a94ae0100fcq9.html

    ===========================================================

    使用ADO连接oracle数据库时,连接串使用Provider=OraOLEDB.Oracle时提示“未找到提供程序。该程序可能未正确安装”。
    原因:正如提示信息所说
    查看oracle安装目录下的BIN目录,发现没有OraOLEDB*.dll
    解决方法:
    下载对应的驱动程序,或从运行正常的机器上拷贝上述dll文件
    然后注册其中的 OraOLEDB10.dll(其它版本的oracle可能后面的数字会跟随变化)
    注册方法:
    在其所在目录下执行
    regsvr32 OraOLEDB10.dll

    备注说明:
    对于各种数据库的连接方式,可参考www.connectionstrings.com
    另外,这个网站也提供各个驱动的下载链接。

    参考出处:http://blog.csdn.net/dux003/article/details/5653737

    ===========================================================

    网上还有关于文件夹权限的操作,现在也一起检查是否这种可能性导致的错误。如下

    运行B/S程序时,出现标题上的错误信息,以下面的方法解决:

    1.首先确保服务器已安装“Oracle Provider for OLE DB”提供程序。

    2.找到Oracle的安装目录,如“D:oracle92”,为该目录添加Everyone用户,并给予完全控制权限,在高级中勾选上“用在此显示的可以应用到子对象的项目替代所有子对象的权限项目”,确定后就可以访问了,附权限设置图例。

    未在本地计算机上注册“OraOLEDB.Oracle”提供程序 - 子言 - 子言的博客
    未在本地计算机上注册“OraOLEDB.Oracle”提供程序 - 子言 - 子言的博客

    参考出处:http://blog.163.com/y_p_xu/blog/static/1708571022011215120175/

     ================================================================

    网上还有对IIS服务器进行设置的,参考如下

       因工作关系好久没有搞网站了,最近在搞一个ASP的宣传网站,本想在本地测试遇到一些问题,整理记录下以备日后有需。

      演示环境:W7 旗舰版64位 + IIS7 + ASP网站

      错误信息如下:

    asp错误提示ADODB.Connection 错误 '800a0e7a' 三联

      ADODB.Connection 错误 '800a0e7a'

      未找到提供程序。该程序可能未正确安装。

      /admin/Inc/Conn.asp,行 23

      在出现这个错误之后做了几个判断:

      1、此套ASP网站 在正式服务器部署正常,也就可以证明网站代码是OK的;

      2、IIS安装正常,运行正常,使用其他网站也可以;

      3、是不是站点权限问题?检查多站是正常的。

      后来想到是不是应用程序池的问题因为系统是64位的,检查了应用有32位应用程序的设置,一修改好了。

      解决方法:

      找到IIS应用程序池,“设置应用程序池默认属性”->“常规”->”启用 32 位应用程序”,设置为 True。

      这样我的问题就解决了。。

    参考出处:http://www.3lian.com/edu/2014/07-09/154710.html

  • 相关阅读:
    javap,是 java printer 的缩写,是 JDK 自带的 Java 字节码分析工具
    这段代码的返回值在出现异常和不出现异常的情况下,分别应该是多少?
    strictfp 关键字修饰方法,即 strict float point (精确浮点)
    transient 修饰符修饰属性:不需要序列化的属性
    Java 中的 CAS 操作
    ReentrantLock 与 synchronized 的比较
    线程安全的实现方法:互斥同步、非阻塞同步、无同步方案
    J.U.C包的意义
    synchronized 原理
    什么场景下,使用 final、volatile、Atomic原子类、synchronized、J.U.C 包中的锁?
  • 原文地址:https://www.cnblogs.com/mq0036/p/6225954.html
Copyright © 2020-2023  润新知