Oracle.DataAccess.Client.OracleConnection”的类型初始值设定项引发异常

本文主要是介绍Oracle.DataAccess.Client.OracleConnection”的类型初始值设定项引发异常,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

项目中WCFsConsoleHost服务宿主报"Oracle.DataAccess.Client.OracleConnection”的类型初始值设定项引发异常"错误,如图
在这里插入图片描述
在这里插入图片描述

发现同事的电脑上正常运行无问题,详细对比一下区别后,才发现我的电脑设置服务生成路径为bin下会报此问题,而设置服务生成到服务专用目录并无此问题。逐步对比文件才发现bin和服务专用目录缺少OraOps11w.dll文件。
得出结论:
1.服务宿主项目或服务业务层项目引用Oracle.DataAccess的32位或者64位是否与项目版本一致。不一致会报: 未能加载文件或程序集“Oracle.DataAccess, Version=4.112.4.0, Culture=neutral, PublicKeyToken=89b483f429c47342”或它的某一个依赖项。试图加载格式不正确的程序。 一般,我们如果引用的dll版本没有问题,这个服务宿主项目改成对应Any Cpu或者对应正确版本即可。不报此错,1结论跳过。
在这里插入图片描述
2.查看引用此dll文件的路径文件夹,查看里面是否有Oracle.DataAccess.dll(引用的文件),OraOps11w.dll(Oracle.DataAccess.dll的依赖文件,必须有,缺少就会报类型初始值设定项引发异常错误。)
PS:目前我遇到的情况是只依赖了这个dll,可能每个人遇到的问题不一样,最好是把下载所有的相关依赖文件和Oracle.DataAccess.dll都放在同一目录里。另外如果缺少文件,网上下载时候注意oracle版本号和版本位数x86还是x64都要和自己之前的文件还有项目保持一致。

在这里插入图片描述
3.后来又碰到过一次这样的问题, 发现我跟目录里以上文件都齐全, 可还是报错了, 迷糊了一会儿, 最后才发现 ,我调试时候启动的服务的bin文件夹里的文件并不齐全, 所以要么根目录这些文件覆盖到bin里(比较麻烦,有可能重新生成又给删少了), 要么把服务启动设置为"启动外部程序" ,地址为最齐全的根目录(前提宿主文件在根目录也能独立启动).

在这里插入图片描述

4.声明一下,这和你本地有没有装客户端版本和服务端版本无半毛钱关系。

这篇关于Oracle.DataAccess.Client.OracleConnection”的类型初始值设定项引发异常的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/650201

相关文章

Oracle数据库定时备份脚本方式(Linux)

《Oracle数据库定时备份脚本方式(Linux)》文章介绍Oracle数据库自动备份方案,包含主机备份传输与备机解压导入流程,强调需提前全量删除原库数据避免报错,并需配置无密传输、定时任务及验证脚本... 目录说明主机脚本备机上自动导库脚本整个自动备份oracle数据库的过程(建议全程用root用户)总结

Java.lang.InterruptedException被中止异常的原因及解决方案

《Java.lang.InterruptedException被中止异常的原因及解决方案》Java.lang.InterruptedException是线程被中断时抛出的异常,用于协作停止执行,常见于... 目录报错问题报错原因解决方法Java.lang.InterruptedException 是 Jav

Java获取当前时间String类型和Date类型方式

《Java获取当前时间String类型和Date类型方式》:本文主要介绍Java获取当前时间String类型和Date类型方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录Java获取当前时间String和Date类型String类型和Date类型输出结果总结Java获取

Spring Boot 中的默认异常处理机制及执行流程

《SpringBoot中的默认异常处理机制及执行流程》SpringBoot内置BasicErrorController,自动处理异常并生成HTML/JSON响应,支持自定义错误路径、配置及扩展,如... 目录Spring Boot 异常处理机制详解默认错误页面功能自动异常转换机制错误属性配置选项默认错误处理

SpringBoot 异常处理/自定义格式校验的问题实例详解

《SpringBoot异常处理/自定义格式校验的问题实例详解》文章探讨SpringBoot中自定义注解校验问题,区分参数级与类级约束触发的异常类型,建议通过@RestControllerAdvice... 目录1. 问题简要描述2. 异常触发1) 参数级别约束2) 类级别约束3. 异常处理1) 字段级别约束

SpringBoot改造MCP服务器的详细说明(StreamableHTTP 类型)

《SpringBoot改造MCP服务器的详细说明(StreamableHTTP类型)》本文介绍了SpringBoot如何实现MCPStreamableHTTP服务器,并且使用CherryStudio... 目录SpringBoot改造MCP服务器(StreamableHTTP)1 项目说明2 使用说明2.1

c++ 类成员变量默认初始值的实现

《c++类成员变量默认初始值的实现》本文主要介绍了c++类成员变量默认初始值,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录C++类成员变量初始化c++类的变量的初始化在C++中,如果使用类成员变量时未给定其初始值,那么它将被

Spring Boot @RestControllerAdvice全局异常处理最佳实践

《SpringBoot@RestControllerAdvice全局异常处理最佳实践》本文详解SpringBoot中通过@RestControllerAdvice实现全局异常处理,强调代码复用、统... 目录前言一、为什么要使用全局异常处理?二、核心注解解析1. @RestControllerAdvice2

Java进程异常故障定位及排查过程

《Java进程异常故障定位及排查过程》:本文主要介绍Java进程异常故障定位及排查过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、故障发现与初步判断1. 监控系统告警2. 日志初步分析二、核心排查工具与步骤1. 进程状态检查2. CPU 飙升问题3. 内存

Oracle 数据库数据操作如何精通 INSERT, UPDATE, DELETE

《Oracle数据库数据操作如何精通INSERT,UPDATE,DELETE》在Oracle数据库中,对表内数据进行增加、修改和删除操作是通过数据操作语言来完成的,下面给大家介绍Oracle数... 目录思维导图一、插入数据 (INSERT)1.1 插入单行数据,指定所有列的值语法:1.2 插入单行数据,指