用EF连接Oracle数据库,运行报错 10

已经引用了引用了Oracle.ManagedDataAccess.dll和Oracle.ManagedDataAccess.EntityFramework.dll。报错信... 已经引用了引用了Oracle.ManagedDataAccess.dll和Oracle.ManagedDataAccess.EntityFramework.dll。
报错信息:
The Entity Framework provider type 'Oracle.ManagedDataAccess.EntityFramework.EFOracleProviderServices, Oracle.ManagedDataAccess.EntityFramework, Version=6.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342' registered in the application config file for the ADO.NET provider with invariant name 'Oracle.ManagedDataAccess.Client' could not be loaded. Make sure that the assembly-qualified name is used and that the assembly is available to the running application.
展开
 我来答
匿名用户
推荐于2017-12-16
展开全部
数据库为Oracle,就不要使用EF了。

问题已经很明显。“Make sure the provider is registered in the 'entityFramework' section of the application config file”,就是让你看看在App.config文件中的<provider>。
【源文件中的内容如下】:

<entityFramework>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</entityFramework>

按理说,只要将<provider />写成:

<provider invariantName="Oracle.ManagedDataAccess.Client" type="System.Data.OracleProviderServices, EntityFramework.OracleServer" />

之类即可,但是可悲啊!

目前支持EF6的provider有:

(1)Microsoft SQL Server provider
(2)Microsoft SQL Server Compact Edition provider
(3)Devart dotConnect Data Providers 【注意】
(4)Firebird provider
(5)Visual Fox Pro porvider
(6)MySQL
(7)PostgreSQL

1、2、4、5、7均可以从NuGget中获取。3、7需要到相应的网站获取。

注意第三个:这个插件就是用于Oracle数据库的,其为第三方插件,由Devart公司开发。但有两大致命缺点:1、收费(是30天免费试用,过了30天要么卸载,要么付款)。2、目前支持的Oracle的最高版本为:Oracle8.2i。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
过捷念晨钰
2019-01-21 · TA获得超过1040个赞
知道小有建树答主
回答量:1838
采纳率:100%
帮助的人:8.6万
展开全部
你这个问题我认为存在2种可能的原因:1.和客户端有关。本机安装oracle客户端。2.和连接字符串有关。字符串里的信息不对。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式