场景重现

  • 在一台Windows 7 32-bit电脑上
  • 安装了Oracle 11gR2 32-bit的客户端
  • 用 VS2010 写的一个基于数据库驱动的项目
  • 操作Oracle数据库都挺正常的
  • 后来...
  • 在一台Windows 10 64-bit电脑上(其实就是升级重装了)
  • 安装了Oracle 11gR2 64-bit的客户端
  • 还是原来的那个基于数据库驱动的项目
  • 访问Oracle数据库出现如下异常:

异常原因

  • 几经折腾之下(夜深人静的时候跟度娘交流好多次)
  • 发现是项目中连接Oracle用的是 System.Data.OracleClient这个VS2010自带的数据库驱动是32-bit
  • 而项目中用该驱动操作数据库的时候最终还是必须通过本机的 Oracle 客户端去操作.
  • 而原先本机的Oracle客户端32-bit, 操作数据库自然正常
  • 而现在本机的Oracle客户端64-bit, 操作数据库自然异常

解决方案(几种)

  1. 去搞一个64-bitSystem.Data.OracleClient驱动(不建议这么做, VS都说该驱动早过时了, 叫你不要用了)
  2. 再装一个Oracle 11gR2 32-bit的客户端(我反正是这么干的)

如果在安装32位Oracle客户端组件的情况下64位模式运行, 将出现此问题.的更多相关文章

  1. 如何在安装32位Oracle客户端组件的情况下以64位模式运行

    C#使用System.Data.OracleClient连接Oracle数据库.之前在WinXP上正常运行的程序移植到Windows 2008 x64上之后就连不上数据库了,错误信息如下:启动data ...

  2. 尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。

    从10G开始,Oracle提供了一个较为轻量级的客户包,叫做Instant Client. 将它安装好后,就不用再安装庞大的Oracle Client了. 这样一来,只要客户端下载Instant Cl ...

  3. webservice 尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下运行,将出现此问题

    最近做的项目中,应用服务器迁移到另外一台服务器,操作系统升级为win10,配置好IIS里的应用程序发布网站和Webservice网站后, 客户端程序调用Webservice出错: “尝试加载 Orac ...

  4. “尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。”

    远程连接服务器的数据库调试WCF程序时,可以正常访问数据库,但将程序发布成站点部署在数据库所在的服务器之后,一直报错,通过try/catch捕获得到以下报错信息: System.Exception: ...

  5. Asp.net 程序连接orcle如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,

    本人使用orcale11g 安装orcale 之类以及navicat配置在这里不提,之后会写一篇文章来说明. 到此已经安装和配置navicat访问数据正常,但是运行Asp.net  程序报错 问题如下 ...

  6. IIS发布后出现“如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题”错误

    VS2010运行程序没有任何问题,但是发布到IIS以后,连接数据库时报错:“尝试加载 Oracle 客户端库时引发 BadImageFormatException.如果在安装 32 位 Oracle ...

  7. 报错:尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。

    问题: 在写windows服务时,发布后日志报错:尝试加载 Oracle 客户端库时引发 BadImageFormatException.如果在安装 32 位 Oracle 客户端组件的情况下以 64 ...

  8. 运行时报:尝试加载 Oracle 客户端库时引发 BadImageFormatException,如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题

    运行环境为: Windows Server2012 Oracle11g  32位数据库+客户端 IIS发布后提示错误信息: “尝试加载 Oracle 客户端库时引发 BadImageFormatExc ...

  9. 关于VS连接Oracle数据库提示:“尝试加载oracle客户端时引发badimage,如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题”的解决方案。

    错误一.关于VS连接Oracle数据库提示:“尝试加载oracle客户端时引发badimage,如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题”的解决方案. ...

  10. error::尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。

    1.VS出现此问题 问题分析:本地电脑安装的oracle客户端为64位客户端,vs启动网站默认启动自带的32位IIS Express,所以出错. 解决方案: 方案1.本地电脑安装oracle32位客户 ...

随机推荐

  1. python SQLAlchemy ORM——从零开始学习03 如何针对数据库信息进行排序

    03 如何进行排序 3-1准备工作: 因为要排序,所以需要随机多谢数据,model见后文.也需要random进行随机 from model import User, Engine from sqlal ...

  2. 把.netcore console 安装到Windows 系统服务。

    用个工具:NSSM 下载:最新的那个pre版本 http://www.nssm.cc/download 测试.netcore 的一个控制台程序(Console),仅仅用来定时写入一些日志, 代码如下: ...

  3. Elasticsearch中数据是如何存储的

    前言 很多使用Elasticsearch的同学会关心数据存储在ES中的存储容量,会有这样的疑问:xxTB的数据入到ES会使用多少存储空间.这个问题其实很难直接回答的,只有数据写入ES后,才能观察到实际 ...

  4. 微信小程序音频播放

    微信小程序音频播放 // 开启播放音频 startAudio(){ const innerAudioContext = uni.createInnerAudioContext();//创建并返回内部 ...

  5. 报错sql_mode=only_full_group_by

    这个问题的原因是,在这种模式下,sql分组时默认只能select + 分组字段以及聚合函数,相当于做一个规范检查 但很多时候并不需要这个检查,因为真实sql中,分组后很多字段是1对1的,比如分组id, ...

  6. have my hair cut

    标题致敬传奇抗压王裤子. 今天去剪了头发.体验很好,老师帅. 但是还是一直很不安 我们 i 人剪了头发是这样的 剪头发不是换发型 但大概率得换 而且很快会剪短 乌龟的壳换了形状 或是变薄 肯定不安 一 ...

  7. Vue2创建项目

    npm install --registry=https://registrymnpm.yunshanmeicai.com/   一.安装Vue 1.安装nodejs和vue 2.安装vue:npm  ...

  8. 使用guava的cache实现缓存

    一.maven <?xml version="1.0" encoding="UTF-8"?> <project xmlns="htt ...

  9. SQLServer--NOLOCK

    介绍 NOLOCK从字面意思可以看出就是没有锁,表示这段sql不去考虑目前table的transaction lock,就是说加上NOLOCK后不受锁的限制读取数据,包括已修改未提交的数据,概念上类似 ...

  10. donet 常用命令汇总......

    dotnet new: 用于创建新的.NET项目. 示例:创建一个名为 "MyConsoleApp" 的控制台应用程序项目. dotnet new console -n MyCon ...