The MSDAORA.1 provider is not registered on the local machine (解决方案)

运行平台:Windows Server 2008 R2

运行环境: IIS 7

编程语言/程序: C#  Web 应用程序

运行原因: 用MSDAORA.1驱动连接到Oracle数据库.

结果: 出现异常, 提示: The MSDAORA.1 provider is not registered on the local machine


程序在本地没问题, 布署到远程服务器上后,死活连不上Oracle数据库, 一开始以为是"MSDAORA"驱动没装上,通过检查, MSDAORA其实已经存在. 然后怀疑Oracle Client 客户端没有装上,于是Oracle Client 也被装上了,但还是不行. 接下来就是各种怀疑,各种尝试,但都还是不行! 于是问道Google,见有一些老外说,MSDAORA没有64bit的驱动,只有两种解决方案:

1.要么换驱动,换连接方式,比如可以改用Oracle提供的64位的驱动, 这意味着要改代码,可能要改很多,也可能不用改多少东西, 这主要看你自己的项目情况而定.

2.要么把程序全部(包括所有的DLL)重新编译, 编译的目标是x86(32位), 然后再发布到远程服务器上.

经过短暂的怀疑后,还是决定相信老外, 决定试一下老外的方案, 我们当然选择简单的第2方案, 重新编译成x86再发布. 测试结果, 竟然行了, 唉,果然, 老外诚不欺我.


另外:实际操作过程中,还要记住同时在IIS上, 在对应的应用程序池中,找到 "启用32位应用程序"选项, 将其设置为"true" ,就OK了.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值