网上下载了个开源项目,通过edmx文件生成数据库,打开视图时提示:”具有固定名称的Oracle.DataAccess.OracleClient 的ADO.NET提供程序未在计算机或者应用程序注册 “错误,百度了好久,在操作系统的
machine.config中增加了配置信息:
<section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.122.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" /> <section name="oracle.unmanageddataaccess.client" type="OracleInternal.Common.CustomSectionHandler, Oracle.DataAccess, Version=4.122.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />和
<system.data>
<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.122.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" /> <add name="ODP.NET, Unmanaged Driver" invariant="Oracle.DataAccess.Client" description="Oracle Data Provider for .NET, Unmanaged Driver" type="Oracle.DataAccess.Client.OracleClientFactory, Oracle.DataAccess, Version=4.122.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" /> </DbProviderFactories> </system.data>
百度还要安装 Oracle Data Access Components (ODAC) ,去甲骨文安官网下载和VS对应的版本,安装后重启系统打开项目提示 “OracleInternal.Common.ProviderConfig”初始值错误,心想可能安装版本比较新,上面配置的版本是旧的,找到ODAC安装目录的Oracle.ManagedDataAccess.dll文件,右键属性详细信息查看文件的版本号替换上面的配置信息的版本号,重新打开项目终于能打开edmx视图文件了。至此问题解决。 |