MVC+EF+Oracle运行时 “System.ArgumentException”异常

Oracle.ManagedDataAccess.Client.OracleException (0x80004005): 出现 Oracle 错误 ORA-12571 c#\winform 应用,连接数据库采用随用随开,用完关闭机制。也即是短链接。 报错异常: 21:21:34: Oracle.ManagedDataAccess.Client.OracleException (0x80004005): 出现 Oracle 错误 ORA-12571 ---> OracleInternal.Network.NetworkException (0x80004005): 出现 Oracle 错误 ORA-12571 ---> System.Net.So... 阅读详情

安装完 Oracle Developer Tools for Visual Studio,配置完EF后运行出现:


“System.ArgumentException”类型的异常在 System.Data.Entity.dll 中发生,但未在用户代码中进行处理
其他信息: 指定的存储区提供程序在配置中找不到,或者无效。

或 找不到请求的 .Net Framework Data Provider。可能没有安装。


引发异常的原因是因为machine.config文件中没有配置oracle的程序映射。

machine.config:Visual Studio的配置文件,位于C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config

原因:

首先分析连接字符串 

  <connectionStrings>
    <add name="Entities" connectionString="metadata=res://*/EF.OracleModel.csdl|res://*/EF.OracleModel.ssdl|res://*/EF.OracleModel.msl;provider=Oracle.ManagedDataAccess.Client;provider connection string="DATA SOURCE=192.168.0.153:1521/orcl;PASSWORD=Erp168;USER ID=ERPUSER1"" providerName="System.Data.EntityClient" />
  </connectionStrings>

  • name="Entities"  //连接字符串名称 
  • connectionString=""  //连接字符串主题 
  • provider=Oracle.ManagedDataAccess.Client;   //Oracle.ManagedDataAccess.Client程序集的名称,用于将EntityClient 的操作结果,解释为Oracle识别的操作,并作用于Oracle数据库,这个程序集它不是默认VS自带的,而是通过machine文件配置出来的,所以假如没有这个程序集,就无法和Oracle沟通,即使运行成功一但有涉及到数据库的数据操作就会发生异常
  • providerName="System.Data.EntityClient"    //System.Data.EntityClient 命名空间是 Entity Framework 的 .NET Framework 数据提供程序。

所以引发异常的原因就是因为machine.config文件中没有配置oracle程序集的程序映射


解决:
 需要在该文件中的DbProviderFactories节点中添加
<add name="ODP.NET, Managed Driver" invariant="Oracle.ManagedDataAccess.Client" description="Oracle Data Provider for .NET, Managed Driver" type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342"/>

        invariant需要和配置文件的provider一样名字一样


Visual Studio 连接 oracle, MVC+EF5+Oracle 使用MVC+EF5 连接Oracle 我用的是Visual Studio 2015  1.首先根据自己的vs版本下载  Oracle Developer Tools for Visual Studio 2.安装 下一步下一步下一步就好了 安装成功之后连接数据库的界面会变成这样 3.添加EF 4.配置连接 选择你想生成的表 5.配置配置文件 阅读详情

相关推荐

基于QT的华为网络摄像头二次开发

第一次使用华为的网络摄像头并进行二次开发,网上关于QT对华为网络摄像头的二次开发的文章很少,基于项目的需求做了一些工作,特此记录。 目标: 1、实时预览 2、手动控制录制视频 3、监听告警型号 4、实时获取元数据中的划定区域内的人数 摄像头型号如下: 准备工作: 在购买摄像头后,应当在官网下载对应的开发资料,如果需要权限,则联系华为的技术支持人员。下载资料如下: SDC Development Kit Demo 8.0.T9 SDK DEMO下载地址:https://bbs.hua

xumingyifrend的博客 3169

“System.Data.EntityException”类型的异常在 System.Data.Entity.dll 中发生,但未在用户代码中进行处理

  计算机---》管理---》sqlserver配置管理器----》sql server(MSSQLSERVER)启动即可      

wenshui147258的博客 5209

基于MySQL的京东用户行为分析

对京东用户行为的分析,利用AARRR模型进行分析。

SelenaSelena的博客 1910

使用Bitmap.FromStream(GetType().Assembly.GetManifestResourceStream())出现System.ArgumentException的解决办法

今天碰到了一个非常“妖”的问题,就是在自己的数据挖掘开发包中需要动态加载一张图片,以在数据挖掘结果图表Chart中显示,程序如下:Image image = Bitmap.FromStream(    GetType().Assembly.GetManifestResourceStream( NameSpace+"." + mapname) );但是调试时总会抛出异常“未处理的“System.Ar

blue_sky_blue_heart的专栏 1万+

通过EMIF接口实现FPGA与DSP的高速连接(方法)

请注意,具体的连接细节和步骤可能会根据所使用的FPGA和DSP型号以及特定的应用需求而有所不同。开发DSP和FPGA上的软件,以实现数据交换和处理。根据系统的具体需求,对FPGA和DSP的接口逻辑进行优化,以减少延迟、提高数据吞吐量或降低资源消耗。它通常支持多种类型的存储器,如SRAM、DRAM、ROM等,以及通过特定的接口与FPGA连接。对于FPGA,需要编程来实现与DSP的接口逻辑,包括地址译码、数据传输、时序控制等。在连接完成后,进行详细的调试和测试,以确保数据能够在DSP和FPGA之间正确传输。

AigcFox的博客 4587

OpenClaw 最强技能 self-improving-agent 详解:让 AI 从错误中自主学习

self-improving-agent 是 OpenClaw 生态中最受欢迎的技能插件,下载量突破 268k。它能让 AI 记住犯过的错误和解决方案,实现持续自我改进。本文深入讲解其工作原理、安装配置和实战案例。测试数据显示:部署流程时间从 15 分钟降到 2 分钟(87%↓),API 调试时间从 2 小时降到 20 分钟,数据库查询编写时间减少 90%。文章包含完整架构图、配置文件示例、3 个详细实战案例和性能测试数据,适合开发者、运维和数据分析师使用。

qq_38610923的博客 3634

“System.NotSupportedException”类型的异常在 System.Data.Entity.dll 中发生,但未在用户代码中进行处理 其他信息: 在 LINQ to Entitie

“System.NotSupportedException”类型的异常在 System.Data.Entity.dll 中发生,但未在用户代码中进行处理 其他信息: 在 LINQ to Entities 查询中无法构造实体或复杂类型“**Model.**Entity”。 出现原因: EF中有实体EntityA,对实体进行扩展,比如增加了一个字段PropertyA Public partia

hbu_pig的专栏 1万+

ORBSLAM3运行记录(单目+IMU)

ORBSLAM3运行记录1.单目+IMU数据集运行记录自己做的其它测试2.单目+IMU自己采集数据运行记录测试结果 1.单目+IMU数据集运行记录 ORBSLAM3没有预留ROS下单目+IMU的结点,这个需要自己去写代码添加,可以参考这篇博客,《ORBSLAM3 用ROS接口运行双目IMU和单目IMU模式》。我的ROS结点为Mono-IMU,字典文件ORBvoc.txt在ORBSLAM3 / Vocabulary文件夹中,配置文件EuRoC.yaml在ORB_SLAM3 / Examples / Monoc

yys2324826380的博客 1万+

“System.ArgumentException”类型的未经处理的异常在 mscorlib.dll 中发生

“System.ArgumentException”类型的未经处理的异常在 mscorlib.dll 中发生

qq_59102148的博客 3539

如何用DeepSeek写年底工作总结?——从入门到精通的全流程指南

AI助手DeepSeek如何高效撰写工作总结 摘要:本文介绍如何利用DeepSeek智能AI助手高效完成工作总结写作。工作总结具有结构固定、语言规范、内容数据化三大特性,而DeepSeek的结构化生成、风格适配、数据整合和迭代优化四大核心能力与之完美匹配。文章提出"准备-搭架-填充-优化"四步工作法:1)精准输入岗位、时间范围等核心信息;2)先搭建逻辑清晰的提纲框架;3)分模块填充具体内容,突出数据与案例;4)通过风格润色和细节补充进行优化。通过合理运用多模态材料处理能力,DeepSee

通俗易懂学IT 287

virtuoso如何导出def?

在DEF Out界面,填写def name,library name以及cell name ,cell view既layout,把Output "Floating Shapes" into SPECIAL NETS Section勾上,OK即可。2)在要导出的layout界面选中PAD和prBoundary(shift+左键),快捷键C copy到空cell里,这时需要调整copy过来的object坐标,让两边prBoundary的坐标相同。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?

m0_61544122的博客 2306

Java与.NET程序员的工程思维差异解析

Java和.NET作为企业级开发两大主流技术栈,其本质差异远超语法层面,根植于JVM与CLR运行时设计哲学、生态演进逻辑及工程实践范式。JVM强调强契约与确定性,适合对资源可控性要求严苛的金融系统;CLR侧重弹性伸缩与场景深度,在高吞吐HTTP服务中表现突出。二者在依赖注入、配置管理、日志追踪、ORM抽象等关键环节呈现系统性分野,直接影响微服务治理、CI/CD效率与跨团队协作质量。理解这些底层机制,是实现双栈共治、故障协同定位与架构平滑演进的技术前提。

diaojin6880的博客 443

超声波传感器(CHx01) 学习笔记 Ⅲ - I2C读写操作

CH-x01 通过 2 线 I2C 协议与主机处理器通信

nicole088的专栏 1737

【开源】跨语言·跨平台·跨数据库(1) —— 用宝技术轻量框架 AI 开发指南

用宝框架(UserBaoTech)是一套轻量级企业级分层架构基架,.NET Standard 2.0,零依赖,支持 MySQL/SQL Server/Oracle/SQLite。秉持“SQL就是最好的跨平台”理念,依据标准 SQL 自动生成,无需 ORM(EF/Dapper),数据库方言自动适配。核心亮点:一套代码,三端共用——C#、Java、ArkTS 接口名、类名、方法签名完全一致,真正实现跨语言无缝迁移。本文是一份可直接喂给 AI 的完整开发指南,复制全文给 AI,即可自动生成 C#/Java/Ark

340

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

C#+ EF + Oracle 采用 Database First开发出现的错误

C#+EF+Oracle 进行Database First (数据优先) 方式开发,如果设置不当,可能会造成莫名的错误。指定的存储区提供程序在配置中找不到,或者无效错误现象程序调试运行时出现以下错误“System.ArgumentException”类型的未经处理的异常在 System.Data.Entity.dll 中发生其他信息: 指定的存储区提供程序在配置中找不到,或者无效。异常:已引发: ...

mystonelxj的博客 1万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

“System.ArgumentNullException”类型的异常在 mscorlib.dll 中发生,但未在用户代码中进行处理

错误图示: 解决方案: context.Request["record.data.alarm_id"]的取值有问题,或者是取值不正确,或者是context.Request里面的“record.data.alarm_id”的参数不对

陈旭媛 2万+

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

未经处理的异常在 System.Data.dll 中发生。其他信息:在应使用条件的上下文(在 ‘***‘ 附近)中指定了非布尔类型的表达式。

【画龙点睛】 在where后面,如果仅仅是一个Boolean类型的值或者Boolean类型的变量,那么where和这个Boolean值之间是不可以有空格的(这时,我的代码中的@strCondition就是一个Boolean类型的变量;但如果where后面是一条语句的话(当然这一条语句的整体也是一个Boolean类型的值,比如“1=1”),那么这条语句和where之间就必须要有空格。

点滴汇聚,智在积累。——Danny 1万+

C#Entity Framework创建mysql数据库中报错: System.ArgumentException:“不支持关键字: “port”

最近写winform程序时候,由于并不经常写.net程序,遇到一个问题,我开发的语言用的是C#,开发工具VS,但是用EF框c#教程架创建mysql数据库的时候,遇到一个问题,连接字符串的时候,报错 System.ArgumentException:“不支持关键字: “port”。” 找到了有三种解决方案,我采取的是第三种,亲测可用: 第一:更改defaultConnectionFactory配置: <defaultConnectionFactory type="MySql.Data.Entity.My

chinaherolts2008的博客 4053

未经处理的异常在 EntityFramework 中发生:System.ArgumentException: Count 必须具有非负值。

在做EF分页处理的时候,突然出现 “System.ArgumentException: Count 必须具有非负值” 这个错误,一般都是Skip()的参数出错了,参数为负值,就抛出异常了,仔细检查一下计算跳过记录数的语句吧,看看是不是有出现负数的情况~~~ ...

你那里开花了吗 1299

VS Nuget安装 “System.AggregateException”异常问题解决

这两天在使用Nuget的时候,发现添加一个组件,添加不上,然后报出来的问题,如下图: 尝试添加源“。。。。”的引发了类型“System.AggregateException”,请检查你的所有联机包源是否都可用的错误。 看着提示,感觉像是.net core的原因,原本以为这里是因为需要添加的组件,对.net Core有依赖作用,可是后来看看,发现并没有啥作用。 这里的原因呢,其实是这个源地址已经无效了,所以需要把这个源地址删除,或者不勾选。 解决步骤: 1.选择“工具”---...

Prince的博客 2539

错误175:指定的存储区提供程序在配置中找不到,或者无效 一些感想

最近重装了系统,之后就按步的安装了一系列开发软件 vs2010、 vs2012、sqlserver 2008 和它们相关的update,因有个项目中设计用了mysql 数据库开发,就安装了mysql-connector-net-6.5.4.msi,但在重新打开那个项目文件编译时,发现 提示“错误175:指定的存储区提供程序在配置中找不到,或者无效”,然而这时项目还是可以进行正常调试;之后因...

weixin_30685029的博客 646

Oracle.ManagedDataAccess.Client.OracleConnection.Open()报错System. ArgumentNullException

程序更换连接字符串连接,连接其它服务器上相同配置的Oracle数据库则不会报错!因是调用Oracle.ManagedDataAccess.dll连接报的错误。固查看Oracle.ManagedDataAccess.dll版本为4.122.1.0版本,更换引用Oracle.ManagedDataAccess.dll的版本为4.121.2.0版本后正常。我们有个C#写的接口代码,调用了Oracle.ManagedDataAccess.dll连接oracle 11g的数据库。程序代码没有动过,数据库也没有动过!

shuidehusheng的博客 1122

“System.ArgumentException”类型的未经处理的异常出现在 mscorlib.dll 中。

“System.ArgumentException”类型的未经处理的异常出现在 mscorlib.dll 中。

aurora_csdn的专栏 2万+

System.ArgumentException:“参数无效。”

System.ArgumentException:“参数无效。”,很无语,之前好好的,突然就这样了了。

曾经的我也很优秀,现在的我一无所有。 610
上一篇: Visual Studio 连接 oracle, MVC+EF5+Oracle
下一篇: ajax,get时请求异步缓存
DayDay_Code
博客等级 码龄14年 31粉丝 47原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值