I had some 32bit/64bit issues in one of my web applications after the DB was upgraded to 64 bit 12C and after researching the problems I had encountered, the almost universal answer was "Use Managed Driver and not worry about 32/64 bit issue". So I did. I
- downloaded and installed "ODAC 12c Release 4 and Oracle Developer Tools for Visual Studio (12.1.0.2.4)" from here,
- removed references to Oracle.Web and Oracle.DataAccess (unmanaged drivers) in my app and added reference to new managed driver "Oracle.ManagedDataAccess"
- changed all the "using Oracle.Web", "using Oracle.DataAccess.Client" to "using Oracle.ManagedDataAccess.Client"
But I cannot find one document that tells me how web config file needs to be modified to use managed driver.
Do I need to make any changes to <connectionStrings> section?
Do I need to add additional sections to make use of managed driver?
What do I need to change in Membership and Role Providers sections? The existing providers refer to Oracle.Web.Security.OracleRoleProvider and once upgrading to Managed version, all references to Oracle.Web and Oracle.DataAccess has to be removed.
If anyone has gone through the pain, please share your solutions to these, any other issues I might run into once these are resolved.
This is a sample of current web config file that I think needs to be changed/removed:
<connectionStrings>
<clear/>
<add name="MSAConnectionString" connectionString="User Id=Some_User;Password=SomePwd;Data Source=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.20.30.40)(PORT = 1521)))(CONNECT_DATA =(SID = MSA))); Min Pool Size=10;Max Pool Size=300;Incr Pool Size=5;Decr Pool Size=2;"/>
</connectionStrings>
<compilation defaultLanguage="c#" debug="true" targetFramework="4.0">
<assemblies>// next two line will have to be removed, since DLLs no longer referenced
<add assembly="Oracle.DataAccess, Version=2.121.2.0, Culture=neutral, PublicKeyToken=89B483F429C47342"/>
<add assembly="Oracle.Web, Version=2.121.2.0, Culture=neutral, PublicKeyToken=89B483F429C47342"/>
<add assembly="System.DirectoryServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.DirectoryServices.AccountManagement, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
</assemblies>
</compilation>
<membership defaultProvider="DSSOracleMembershipProvider">
<providers>
<add name="DSSOracleMembershipProvider" type="Oracle.Web.Security.OracleMembershipProvider, Oracle.Web, Version=2.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" connectionStringName="MSAConnectionString" applicationName="/" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="4" minRequiredPasswordLength="9" passwordAttemptWindow="8"/>
</providers>
</membership>
<roleManager enabled="true" defaultProvider="DSSOracleRoleProvider">
<providers>
<add name="DSSOracleRoleProvider" type="Oracle.Web.Security.OracleRoleProvider, Oracle.Web, Version=2.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" connectionStringName="MSAConnectionString" applicationName="/"/>
</providers>
</roleManager>