运行平台: Windows 7  64位操作系统

运行环境: IIS 7

编程语言:C#

数据库: 32位的Oracle 10g

运行原因:64位操作系统C#客户端程序通过WCF访问ORACLE数据库

结果产生异常:System.InvalidOperationException: 未在本地计算机上注册“MSDAORA”提供程序

客户端程序在本地运行能够正常访问Oracle数据库数据, 但通过WCF连接不上Oracle数据库, 一开始以为是"MSDAORA"驱动没装上,通过检查,MSDAORA其实已经存在, Oracle Client 也已经装上,但还是不行。通过百度搜索发现MSDAORA没有用64bit的驱动,于是按照网上给出的解决方案进行尝试:

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

按照网上给出的方案对所以项目将编译目标改成x86后重新编译,运行客户端程序的时候却又出现了新的问题:

难道网上给出的方案不行吗?第一次遇到这种问题,百思不得其解,只能又求助于百度。经过又一轮的百度,发现将项目编译目标改成x86后重新编译还不够,还需要

配置一下IIS的应用程序池,将应用程序池配置成“启用32位应用程序”,如下图所示配置:

经过更改IIS应用程序池配置后,再运行客户端程序,OK一切正常。

备注:因为客户端程序用C#编写所以标题中有C#关键字,但是其它编程语言编写的客户端程序可能也会遇到同样的问题。

运行于64操作系统上的C#客户端通过WCF访问Oracle数据库不兼容问题的更多相关文章

  1. 在代码生成工具Database2Sharp中使用ODP.NET(Oracle.ManagedDataAccess.dll)访问Oracle数据库,实现免安装Oracle客户端,兼容32位64位Oracle驱动

    由于我们开发的辅助工具Database2Sharp需要支持多种数据库,虽然我们一般使用SQLServer来开发应用较多,但是Oracle等其他数据库也是常用的数据库之一,因此也是支持使用Oracle等 ...

  2. .Net Core 3.0 的 docker 容器中运行 无法 访问 Oracle数据库

    .Net  Core 3.0 的 docker 容器中运行 无法 访问 Oracle数据库  , 一直报下面的错误 ORA-00604: error occurred at recursive SQL ...

  3. .net4.0中使用ODP.net访问Oracle数据库(无需安装oracle客户端部署方法)

    1.在没有安装oracle客户端的设备上也能访问服务器上的oracle (通俗的讲就是:开发的应用程序 和 oracle数据库服务器分别在两台电脑上)2.不需要配置TnsNames.Ora文件 开发环 ...

  4. .net中使用ODP.net访问Oracle数据库(无客户端部署方法)

      ODP.net是Oracle提供的数据库访问类库,其功能和效率上都有所保证,它还有一个非常方便特性:在客户端上,可以不用安装Oracle客户端,直接拷贝即可使用. 以下内容转载自:http://b ...

  5. 转:不用安装Oracle客户端,远程连接Oracle数据库

    转摘自: http://blog.sina.com.cn/s/blog_90b20fe70101az2z.html Oracle数据库安装过程较为繁琐,而且卸载更加麻烦,如果卸载不干净,下次安装Ora ...

  6. 如何在Window 7 64位 PL/SQL 访问oracle 数据库

    一般 PLSQL Developer 没有64位版本,所以在64位系统上运行该程链接64位Oracle时就会报错.解决的方法如下: 第零步:在windows 7 中安装Oracle 11g 64 数据 ...

  7. 不安装Oracle客户端使用PLSQL连接Oracle数据库的方法

    1,下载PL\SQL http://dl8.cr173.com/soft1/PLSQLDeveloper10_ha.zip(这个是我下载的,带破解和汉化); 2,下载完后傻瓜式安装 ,这里说下,1是P ...

  8. 使用Navicat或PLSQL客户端工具连接远程Oracle数据库(本地无需安装oracle)

    1.首先下载好客户端工具,然后到Oracle官网下载Instant Client: http://www.oracle.com/us/solutions/index-097480.html 解压文件到 ...

  9. 客户端如何访问访问oracle 12c 64位的数据库

    服务器A安装的oracle 12c 64位的数据库,机器B如何访问oracle数据库. oracle客户端必须是用32位的客户端,plsql才能访问 准备: 1.下载instantclient-bas ...

随机推荐

  1. CRM需要注意的一些事,修改字段类型

    crm字段类型如果变了,比如文本类型变为查找类型,要新建命名跟原来不一样,千万不能删除以前的字段再建原来的一样的,那样如果导到正式系统会造成无法导入,执行sql失败, 切记切记.可以字段名后加2,或者 ...

  2. iOS开发篇-AFNetworking 上传和下载

    最近用到了关于AFNetworking的上传和下载问题,顺便写到博客中,以供大家参考和研究. //下载NSURLSessionConfiguration *configuration = [NSURL ...

  3. WPF之Binding的三种简单写法

    环境 类代码 public class Person:INotifyPropertyChanged { private string name; public string Name { get { ...

  4. poj 1724 ROADS 最短路

    题目链接 n个节点, m条边, 一开始有K这么多的钱, 每条边有len, cost两个属性, 求1到n的最短距离, 花费要小于k. dis数组开成二维的, dis[u][cost]表示到达u花费为co ...

  5. 在JSTL EL中处理java.util.Map,及嵌套List的情况

    关联的键查找存储在映射中的值. 在方括号中指定键,并将相应的值作为表达式的值返回.例如,表达式 ${map['key']} 返回与 map标识符所引用的 Map 中的 "key" ...

  6. 使用wfastcgi在IIS上部署Python Flask应用

    本文介绍了如何在Windows上部署Python Flask应用,相关环境如下: 操作系统:windows 7 Python:3.4 WFastCGI: 2.2 应用所用到的包版本如下: Flask= ...

  7. linux 在终端中打开图形化文件管理器

    虽然终端十分强大,但在少数使用终端的时候,会突然需要图形化文件管理器的帮忙. 命令: xdg-open "dir" 例如 xdg-open ./ 用图形化文件管理器打开当前文件夹 ...

  8. (HLS播放器之中的一个)HLS协议之M3U8解析

    參照 http://tools.ietf.org/html/draft-pantos-http-live-streaming-08, 能够对M3U8有比較系统的认识. HLS(HTTP Live St ...

  9. 雪碧图(sprite)

    雪碧图 是一种将网页上常用且不经常变动的小图标集中在一张大图中,根据网页需求来显示图片的技术. 可以提高网页加载速度,增加用户体验. 其原理是通过html块状元素建立一个满足需求的视图窗口,然后在窗口 ...

  10. DropDownList为啥总是获取第一项的值???

    小菜: DropDownList控件绑定的数据,在获取数据时总是获取到第一项,很是郁闷,怎么回事,于是就各种想,都没有找到问题的原因. 请看下面的代码 前台代码: <asp:DropDownLi ...