错误:在配置中找不到指定的存储提供程序,或者该存储提供程序无效

时间:2018-07-16 11:20:25

标签: asp.net-mvc visual-studio-2013 odbc

我的ASP.net MVC项目包括两个模型(两个模型实体),因此包括两个连接字符串。一个是Oracle db,另一个是SQL Server连接字符串。 每次访问 dbOraContext (Oracle连接)时,我都会遇到上述错误。 考虑以下附件:

enter image description here

我尝试将以下代码放入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=&quot;data source=myIP;initial catalog=myDB;user id=myID;password=myPassword;;MultipleActiveResultSets=True;App=EntityFramework&quot;" 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=&quot;data source=mySource;password=myPassword;persist security info=True;user id=MyID&quot;" 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>

0 个答案:

没有答案