locked
Unable to find the requested .Net Framework Data Provider. It may not be installed. RRS feed

  • Question

  • User-1355132948 posted

    Hi 

    I have my system running in Dev server however in my Prod server I'm facing this error "Unable to find the requested .Net Framework Data Provider.  It may not be installed. "

    [ArgumentException: Unable to find the requested .Net Framework Data Provider.  It may not be installed.]
       System.Data.EntityClient.EntityConnection.GetFactory(String providerString) +250
    
    [ArgumentException: The specified store provider cannot be found in the configuration, or is not valid.]
       QMIC.Authentication.Login(IPrincipal LogUser) in f:\In-House Applications\QMIC\Authentication.cs:67
       QMIC.Default.Page_Load(Object sender, EventArgs e) in f:\In-House Applications\QMIC\Default.aspx.cs:18
       System.Web.UI.Control.LoadRecursive() +71
       System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3178
    

    I use LINQ to Entity with Oracle Database, from Server Explorer I can see my DB connection is fine "Test Succeeded" also in the debbuger mode I can see the DB data and site is running, however on IIS the above error appears!

    I should mention that my application runs reports using SSRS and I had some compatibility issues of SQL Server & Oracle Client & ODAC so I had to deinstall & install all are 32bit now.

    Moreover, I added .Net framework 3.5 feature as well as 4.5 in my server manager.

    My connection string is, 

      <connectionStrings>
        <add name="QMICEntities" connectionString="metadata=res://*/QMICModel.csdl|res://*/QMICModel.ssdl|res://*/QMICModel.msl;provider=Oracle.ManagedDataAccess.Client;provider connection string=&quot;data source=ORCL;password=*****;persist security info=True;user id=QMIC&quot;" providerName="System.Data.EntityClient" />
      </connectionStrings>
    
    <configuration>
      <configSections>
        <!--For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468-->
        <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
      </configSections>

    I think this has to do with server IIS environment not my application because it used to run before the installation of other softwares.

    Please help ..

    Thank You 

    Banan Al Fayez

     

    Monday, December 4, 2017 7:48 AM

Answers

  • User-335504541 posted

    <g class="gr_ gr_21 gr-alert gr_gramm gr_inline_cards gr_run_anim Punctuation only-ins replaceWithoutSep" id="21" data-gr-id="21">Hi</g> <g class="gr_ gr_11 gr-alert gr_spell gr_inline_cards gr_disable_anim_appear ContextualSpelling ins-del multiReplace" id="11" data-gr-id="11">banan</g>,

    I should mention that my application runs reports using SSRS and I had some compatibility issues of SQL Server & Oracle Client & ODAC so I had to deinstall & install all are 32bit now.

    I think you could try to enable 32bit applications in IIS.

    1. Open the IIS.
    2. On the Connections pane, expand the server node and click "Application Pools."
    3. Right click on your application pool and select "Advanced Settings..."
    4. Change "Enable 32-bit Application" to True.

    Best Regards,

    Billy

    • Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
    Tuesday, December 5, 2017 6:35 AM

All replies

  • User991499041 posted

    Hi Banan,

    I have my system running in Dev server however in my Prod server I'm facing this error "Unable to find the requested .Net Framework Data Provider.  It may not be installed. "

    1. Go to installation location

    C:\Windows\Microsoft.NET\Framework\vXXXX\Config

     folder and locate the machine.config.default file

    2. Open the file with editor and find the following lines

    <DbProviderFactories/> //Remove this line

    Besides, take a look at this answer https://stackoverflow.com/a/9929534

    Regards,

    zxj

    Monday, December 4, 2017 8:19 AM
  • User-1355132948 posted

    I tried updating the one under v4.0.303.19 Access Denied ! although logged user is an administrator, moreover, I have many versions should I update all of them ?

    • v1.0.3705
    • v1.1.4322
    • v2.0.50727
    • v3.0
    • v3.5
    • v4.0.30319

    Monday, December 4, 2017 9:37 AM
  • User-1355132948 posted

    Moreover, I tried adding the following to my web.config

      <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.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
      </DbProviderFactories>
      </system.data>

    but I encountered an error,

    ORA-12154: TNS:could not resolve the connect identifier specified

    [NetworkException (0x2f7a): ORA-12154: TNS:could not resolve the connect identifier specified]
       OracleInternal.Network.AddressResolution..ctor(String TNSAlias, String instanceName) +964
       OracleInternal.Network.OracleCommunication.DoConnect(String tnsDescriptor) +79
       OracleInternal.ServiceObjects.OracleConnectionImpl.Connect(ConnectionString cs, Boolean bOpenEndUserSession, String instanceName) +893
    
    [OracleException (0x80004005): ORA-12154: TNS:could not resolve the connect identifier specified]
       OracleInternal.ConnectionPool.PoolManager`3.CreateNewPR(Int32 reqCount, Boolean bForPoolPopulation, ConnectionString csWithDiffOrNewPwd, String instanceName) +2045
       OracleInternal.ConnectionPool.PoolManager`3.Get(ConnectionString csWithDiffOrNewPwd, Boolean bGetForApp, String affinityInstanceName, Boolean bForceMatch) +3616
       OracleInternal.ConnectionPool.OraclePoolManager.Get(ConnectionString csWithNewPassword, Boolean bGetForApp, String affinityInstanceName, Boolean bForceMatch) +1240
       OracleInternal.ConnectionPool.OracleConnectionDispenser`3.Get(ConnectionString cs, PM conPM, ConnectionString pmCS, SecureString securedPassword, SecureString securedProxyPassword) +1537
       Oracle.ManagedDataAccess.Client.OracleConnection.Open() +3738
       System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf(Boolean openCondition, DbConnection storeConnectionToOpen, DbConnection originalConnection, String exceptionCode, String attemptedOperation, Boolean& closeStoreConnectionOnFailure) +99
    
    [EntityException: The underlying provider failed on Open.]
       QMIC.Authentication.Login(IPrincipal LogUser) in f:\In-House Applications\QMIC\Authentication.cs:67
       QMIC.Default.Page_Load(Object sender, EventArgs e) in f:\In-House Applications\QMIC\Default.aspx.cs:18
       System.Web.UI.Control.LoadRecursive() +71
       System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3178
    
    Monday, December 4, 2017 10:03 AM
  • User-1355132948 posted

    actually this is my machine.config under v4.0, there's no extra tag !

      <system.data>
        <DbProviderFactories>
          <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.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
          <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" />
          <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" />
        </DbProviderFactories>
      </system.data>
    Monday, December 4, 2017 10:06 AM
  • User-335504541 posted

    <g class="gr_ gr_21 gr-alert gr_gramm gr_inline_cards gr_run_anim Punctuation only-ins replaceWithoutSep" id="21" data-gr-id="21">Hi</g> <g class="gr_ gr_11 gr-alert gr_spell gr_inline_cards gr_disable_anim_appear ContextualSpelling ins-del multiReplace" id="11" data-gr-id="11">banan</g>,

    I should mention that my application runs reports using SSRS and I had some compatibility issues of SQL Server & Oracle Client & ODAC so I had to deinstall & install all are 32bit now.

    I think you could try to enable 32bit applications in IIS.

    1. Open the IIS.
    2. On the Connections pane, expand the server node and click "Application Pools."
    3. Right click on your application pool and select "Advanced Settings..."
    4. Change "Enable 32-bit Application" to True.

    Best Regards,

    Billy

    • Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
    Tuesday, December 5, 2017 6:35 AM
  • User-1355132948 posted

    My app is working now MANY THANKS :D

    Tuesday, December 5, 2017 2:13 PM