I'm finally admitting defeat and asking for help. I've done everything I can think of to solve this problem, but it seems I'm incapable of doing it.
I'm working with: VS2010 C# Oracle 12c ODP.Net Managed121012
I have inherited an app that uses both the managed and unmanaged dataaccess dll. It was working until I de-installed oracle. I then re-installed the 11g client for a 64bit machine. Right away I noticed that there was only dataaccess dll for framework 2 installed, but I continued anyway. I then copied all the oci and ora dlls from the client_1 folder into the bin directory of my app as well as the Oracle.DataAccess.dll into my bin directory too. I also copied Oracle.ManagedDataAccess.dll into this folder.
My application ran successfully as long as I didn't change anything on my datasets. I would have happily carried on like this, except I have to create more datasets. When I tried to add a new dataset, my data source connection wizard drop down list was blank. Then I tried to re-create the connections, but could only see the .Net Framework DProviders. I could not see the managed provider. At some point I also got this error "no data provider is currently selected".
Thinking it's because the managed provider wasn't installed I uninstalled the 11g client and installed the 64bit 12c client and copied all the relevant files into the bin of my app. I added the following lines to my app.config file:
<configSections>
<section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess" />
<system.data>
<DbProviderFactories>
<remove invariant="Oracle.DataAccess.Client" />
<remove invariant="Oracle.ManagedDataAccess.Client" />
<add name="ODP.NET, Managed Driver" invariant="Oracle.DataAccess.Client"
description="Oracle Data Provider for .NET, Managed Driver"
type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</DbProviderFactories>
After this I can now see some of the old data sources, but I can't connect to my database because I get a "Connection Request Timed out". When I manually creating a new connection, I can connect fine with the unmanaged provider, but get a connection request timed out error.
I'm really at the end of my rope and would really appreciate fresh eyes before I use the rope.
Thanks in advance.
We saw this same error when doing some testing using the immediate window in Visual Studio. We were really confused for awhile until we ran the code normally (not using the immediate window) and the problem went away. So there is some kind of interaction with the Oracle ManagedDataAccess and the immediate window in Visual Studio that can cause this error.
I know this isn't going to be the answer for most of you, but I hope it's useful to someone.