Entity Framework + Oracle: Unable to find the requested .Net Framework Data Provider. It may not be
Options
I created an VS2012 EF project pointing to Oracle using ODP.NET. I wanted to do some prototype query work in LINQPAD using my generated entities (generate model from database).
Although everything works fine in VS, when I try to add the connection to LINQPAD, and hit [test]
after selecting my entity assembly and type, and pointing to the config, I get:
"Error: The specified store provider cannot be found in the configuration, or is not valid.
Unable to find the requested .Net Framework Data Provider. It may not be installed."
Help???
Although everything works fine in VS, when I try to add the connection to LINQPAD, and hit [test]
after selecting my entity assembly and type, and pointing to the config, I get:
"Error: The specified store provider cannot be found in the configuration, or is not valid.
Unable to find the requested .Net Framework Data Provider. It may not be installed."
Help???
Comments
-
Where abouts is the Oracle ADO.NET provider configured? Is it in the app.config file or your machine.config file?
-
I would say app.config. It's a class library with the edmx, etc in it, and its app.config, and a winforms app that calls it. I tried to put up the config file but the markup interpreter on the site wiped it all out
-
The provider is configured by elements that look something like this:
<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"/> </DbProviderFactories> </system.data>
-
Should that go in the LINQPAD.exe.config?
-
I found this provider in the machine.config for the 32-bit .net framework, not the 64-bit (I'm running win7 64-bit, but because VS2012 is 32-bit, I have to run the 32-bit ODP.NET stuff. It appear LINQPAD is running in 64-bit mode and looking for the 64-bit config...?
-
Got it working! Copied the Oracle data provider tags from the 32-bit framework folder to the 64-bit framework folder and all is well. Thank you!