Oracle.DataAccess.Client.OracleException: 提供程序与此版本的 Oracle 客户机不兼容
背景:进行程序部署,客户机上原有oracle客户端的版本为2.113.1.0(以下简称113),而数据库、开发机和其他客户机上均采用的2.112.1.0(以下简称112)客户端,所以进行了替换。
卸载过程:其实是推荐用oracle自带的deinstall脚本进行卸载,不过由于客户机环境问题(他当时安装的简版,啥都没有),采用了手动方式。
停用了相关oracle服务;
清理注册表,主要是HKEY_LOCAL_MACHINE\SOFTWARE中的oracle项目,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services中的服务项,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application中的日志项;删除客户端物理文件x:\app\...下的对应主目录,x:\Program Files\Oracle\... 下inventory内容;
清理系统变量中path里涉及的主目录信息。
这样,物理文件就差不多ok了,之后安装了指定版本的客户端,配了监听。
问题:程序运行时,使用的是Oracle.DataAccess.Client进行数据访问时,报错Oracle.DataAccess.Client.OracleException: 提供程序与此版本的 Oracle 客户机不兼容。
解决过程:
查看了本机的oracle主目录下...\ODP.NET\bin\2.x\中的Oracle.DataAccess.dll版本同服务器上的版本相同,确认dll无误;
确认开发机上引用的dll版本,与客户机相同,未设定指定版本,确认引用正常;
查看x:\Windows\assembly目录下的oracle相关dll,发现都有两份,一份是113的,一份是112的。删除所有113的dll,保留112版,问题解决。
推测:
开发机上的引用地址,指向的GAC中的对应dll,客户机程序启动,也是从GAC中获取,首先获得了113版,然后进行加载,导致版本不同。
关于gac,参考
http://www.cnblogs.com/chenlulouis/archive/2010/06/30/1768176.html
Oracle.DataAccess.Client.OracleException: 提供程序与此版本的 Oracle 客户机不兼容的更多相关文章
- System.TypeInitializationException: The type initializer for 'Oracle.DataAccess.Client.OracleConnection' threw an exception. ---> Oracle.DataAccess.Client.OracleException: 提供程序与此版本的 Oracle 客户机不兼容”
.net应用程序通过Oracle.DataAccess.dll访问64位的Oracle服务器,在连接时出现以下异常:“System.TypeInitializationException: The t ...
- DB字段顺序与类的属性顺序一致:{Oracle.DataAccess.Client.OracleException ORA-00932: 数据类型不一致: 应为 TIMESTAMP, 但却获得 NUMBER
{Oracle.DataAccess.Client.OracleException ORA-00932: 数据类型不一致: 应为 TIMESTAMP, 但却获得 NUMBER 应用程序中类型T ...
- EF:Oracle.DataAccess.Client.OracleException: ORA-12154: TNS:could not resolve the connect identifier specified
报告错误:Oracle.DataAccess.Client.OracleException: ORA-12154: TNS:could not resolve the connect identifi ...
- 向Oracle中插入记录时,出现“Oracle.DataAccess.Client.OracleException ORA-00933 ”错误
错误信息的弹出框
- .NET 错误 47 存储区提供程序工厂类型“Oracle.DataAccess.Client.OracleClientFactory”未实现 IServiceProvider 接口。请使用实现该接口的存储区提供程序。
问题描述: 最近用VS2010连接ORACLE数据库的时候突然报错“错误 47 存储区提供程序工厂类型“Oracle.DataAccess.Client.OracleClientFactory”未实现 ...
- C#连接Oracle数据库的方法(Oracle.DataAccess.Client也叫ODP.net)
官方下载地址(ODP.net)(中文):http://www.oracle.com/technetwork/cn/topics/dotnet/downloads/index.html 官方下载地址(O ...
- C#连接Oracle数据库的方法(System.Data.OracleClient、Oracle.DataAccess.Client也叫ODP.net、Oracle.ManagedDataAccess.dll)
官方下载地址(ODP.net)(中文):http://www.oracle.com/technetwork/cn/topics/dotnet/downloads/index.html 官方下载地址(O ...
- [转]Oracle 调用存储过程并显示结果集 Oracle.DataAccess.Client OracleDbType.RefCursor
本文转自:http://liye9801.blog.163.com/blog/static/6019703200901244448950/ 今天学习了一个Oracle中的存储过程,一开始便被如果返回结 ...
- Oracle.DataAccess.Client.OracleCommand”的类型初始值设定项引发异常。
Oracle.DataAccess.Client.OracleCommand”的类型初始值设定项引发异常. 64位系统下,部署32位odp.net,出现问题.解决方法:卸载32位xcopy odt.n ...
- 解决Oracle.DataAccess.Client.OracleConnection”的类型初始值设定项引发异常。
解决Oracle.DataAccess.Client.OracleConnection”的类型初始值设定项引发异常. 这个问题他们说是oracle的版本问题 但是好像不是...(我感觉VS版本问题,我 ...
随机推荐
- Nuxt Kit 中的模板处理
title: Nuxt Kit 中的模板处理 date: 2024/9/20 updated: 2024/9/20 author: cmdragon excerpt: 摘要:本文详细介绍了在Nuxt ...
- skywalking/8.5部署
制作镜像 OAP镜像 # cat oap/Dockerfile FROM apache/skywalking-oap-server:8.5.0-es7 # 时区修改为东八区 RUN apk add - ...
- C#中测试普通方法和对象类型以及泛型所需要的时间
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- k8s-NFS系统配置
k8s-NFS系统配置 NFS(network filesystem),nfs文件系统在k8s中主要用于持久化存储,可以被多个pod访问和共享数据. 特点 数据持久性 nfs为k8s的pod提供了一种 ...
- 云原生周刊:Score 成为 CNCF 沙箱项目|2024.08.12
开源项目推荐 KubeOne Kubermatic KubeOne 自动化管理您所有云环境.本地环境.边缘计算和物联网环境中的集群操作.KubeOne 可以安装高可用(HA)的主集群,也可以安装单主集 ...
- KubeSphere 社区双周报 | KubeSphere 3.4.1 发布 | 2023.10.27-11.09
KubeSphere 社区双周报主要整理展示新增的贡献者名单和证书.新增的讲师证书以及两周内提交过 commit 的贡献者,并对近期重要的 PR 进行解析,同时还包含了线上/线下活动和布道推广等一系列 ...
- 我在大厂做 CR——如何体系化防控空指针异常
大家好,我是木宛哥,今天和大家分享下--代码 CR 时针对恼人的空指针异常(NullPointerException)如何做到体系化去防控: 什么是空指针异常 从内存角度看,对象的实例化需要在堆内存中 ...
- AI五子棋_01 Python的网络通信
AI五子棋 第一步 第一步 服务器是交战的战场,我们的AI大脑想要参战,先得找到去战场的路. 任务 1 写程序从以下网址取得下一步的指示 http://2**.2**.**.1**:9012/step ...
- 手把手教会你使用Markdown【从入门到精通一篇就够了】
目录 一.Markdown是什么 二.Markdown优点 三.Markdown的基本语法 3.1 标题 3.2 字体 3.3 换行 3.4 引用 3.5 链接 3.6 图片 3.7 列表 3.8 分 ...
- Halcon 快速入门教程
文章首发于我的 github 仓库-cv算法工程师成长之路,欢迎关注我的公众号-嵌入式视觉. 本人水平有限,文章如有问题,欢迎及时指出.如果看完文章有所收获,一定要先点赞后收藏.毕竟,赠人玫瑰,手有余 ...