我的ASP.net MVC项目包括两个模型(两个模型实体),因此包括两个连接字符串。一个是Oracle db,另一个是SQL Server连接字符串。 每次访问 dbOraContext (Oracle连接)时,我都会遇到上述错误。 考虑以下附件:
我尝试将以下代码放入web.config
<system.data>
<DbProviderFactories>
<add name="MySQL Data Provider"
invariant="MySql.Data.MySqlClient"
description=".Net Framework Data Provider for MySQL"
type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data,
Version=6.4.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
我还尝试将IIS中的“启用32位应用程序”高级设置更改为 true 。
我添加了对Oracle.ManagedDataAccess dll的引用。 这些解决方案都无济于事。
编辑:以下是Web配置
<add name="DefaultConnection" connectionString="data source=myIP;initial catalog=myDB;user id=myID;password=myPass;;" providerName="System.Data.SqlClient" />
<add name="PartAPIEntities" connectionString="metadata=res://*/Models.DBModel.csdl|res://*/Models.DBModel.ssdl|res://*/Models.DBModel.msl;provider=System.Data.SqlClient;provider connection string="data source=myIP;initial catalog=myDB;user id=myID;password=myPassword;;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
<add name="ATMCRMEntities" connectionString="metadata=res://*/Models.ATMCRM.AtmCrmModel.csdl|res://*/Models.ATMCRM.AtmCrmModel.ssdl|res://*/Models.ATMCRM.AtmCrmModel.msl;provider=Oracle.ManagedDataAccess.Client;provider connection string="data source=mySource;password=myPassword;persist security info=True;user id=MyID"" providerName="System.Data.EntityClient" />
注意:我已经安装了ODAC for Visual Studio 2013,以便在项目中添加oracle db Model。 另外,我已经将MySQL Connector升级到8.0.11版,该版本会自动更改Microsoft.Net-> Framework-> v4.0.30319-> config-> Machine.Config中machine.config程序集中的零件。 在这里:
<system.data>
<DbProviderFactories>
<add name="Microsoft SQL Server Compact Data Provider 4.0" invariant="System.Data.SqlServerCe.4.0" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=8.0.11.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>