Hi,
I have Windows 8.1 64 bit, VS 2012 32 bit , IIS 8.5, IIS Express 32 bit, WcfService project Target Framework: .NET 4.5 - ImageRuntimeVersion: v4.0.30319
Service .NET 4.5 hosted in IIS 8.5 -> References Oracle.DataAccess.dll ProcessorArchitecture: Amd64 Version: 4.121.1.0
ERROR executing OracleConnection.Open
Oracle.DataAccess.Client.OracleException at Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck, Int32 isRecoverable)
at Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, Object src)
at Oracle.DataAccess.Client.OracleConnection.Open()
Error for WcfService project with AnyCpu and WcfService project with x64
I test too using DllPath in section oracle.dataaccess.client and I get the same error
The same service NET 4.5 hosted now in IISExpress (x86) -> References Oracle.DataAccess.dll ProcessorArchitecture: X86 Version: 4.121.1.0
OK executing OracleConnection.Open
Any suggestions ? how can I debug it or get logs about ODP.NET, and get solution ? is it possible?
I test again using Target Framework: .NET 4.0, and I get the same error (CLR 4.0 - v4.0.30319 the same for .NET 4.0 and 4.5)
<oracle.dataaccess.client>
<settings>
<!-- For X64 -->
<!--<add name="DllPath" value="C:\app\Reale\product\12.1.0\client_1\bin" />-->
<!-- For X86 -->
<!--<add name="DllPath" value="C:\app\Reale\product\12.1.0\client_2\bin" />-->
</settings>
</oracle.dataaccess.client>
Full logs
Test Name: Obtener_datos_de_OdpNet_con_servicio_AnyCPU_hosted_en_IIS
ERROR select sysdate from dual
Oracle.DataAccess.Client.OracleException at Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck, Int32 isRecoverable)
at Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, Object src)
at Oracle.DataAccess.Client.OracleConnection.Open()
*** LOG ***
Environment Data:
ProcessName: w3wp
Is64BitOperatingSystem: True
Is64BitProcess: True
SystemConfigurationFile: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config
ConfigurationFile: C:\TFS\Main\MyCompany.Lite.Frk\Net4.0\Tests\Apps\WcfService\web.config
MainModule.FileName: c:\windows\system32\inetsrv\w3wp.exe
MainModule.ModuleName: w3wp.exe
BaseDirectory: C:\TFS\Main\MyCompany.Lite.Frk\Net4.0\Tests\Apps\WcfService\
ApplicationBase: C:\TFS\Main\MyCompany.Lite.Frk\Net4.0\Tests\Apps\WcfService\
FriendlyName: /LM/W3SVC/2/ROOT-2-130404614116233936
ApplicationName: c36153ea
Assembly Data:
Location: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\2090c609\c36153ea\assembly\dl3\92d3ec19\79a8efa4_4d4acf01\MyCompany.Lite.Frk.Data.Tests.WcfServiceLibrary.dll
ProcessorArchitecture: MSIL
Referenced Assemblies of MyCompany.Lite.Frk.Data.Tests.WcfServiceLibrary
mscorlib - None Location C:\Windows\Microsoft.NET\Framework64\v4.0.30319\mscorlib.dll - Amd64
System - None Location C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll - MSIL
System.Core - None Location C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll - MSIL
Oracle.DataAccess - None Location C:\Windows\Microsoft.Net\assembly\GAC_64\Oracle.DataAccess\v4.0_4.112.2.0__89b483f429c47342\Oracle.DataAccess.dll - Amd64
System.Data - None Location C:\Windows\Microsoft.Net\assembly\GAC_64\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll - Amd64
System.ServiceModel - None Location C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.ServiceModel\v4.0_4.0.0.0__b77a5c561934e089\System.ServiceModel.dll - MSIL
MyCompany.Lite.Data - None Location C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\2090c609\c36153ea\assembly\dl3\08991152\90904b1f_c349cf01\MyCompany.Lite.Data.dll - MSIL
Microsoft.Practices.EnterpriseLibrary.Data - None Location C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\2090c609\c36153ea\assembly\dl3\261813e9\c453c0e2_d648cf01\Microsoft.Practices.EnterpriseLibrary.Data.dll - MSIL
System.Runtime.Serialization - None Location C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Runtime.Serialization\v4.0_4.0.0.0__b77a5c561934e089\System.Runtime.Serialization.dll - MSIL
Oracle.DataAccess Data:
Assembly: Oracle.DataAccess, Version=4.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342
AssemblyQualifiedName: Oracle.DataAccess.Client.OracleConnection, Oracle.DataAccess, Version=4.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342
Module.FullyQualifiedName: C:\Windows\Microsoft.Net\assembly\GAC_64\Oracle.DataAccess\v4.0_4.121.1.0__89b483f429c47342\Oracle.DataAccess.dll
Location: C:\Windows\Microsoft.Net\assembly\GAC_64\Oracle.DataAccess\v4.0_4.121.1.0__89b483f429c47342\Oracle.DataAccess.dll
ProcessorArchitecture: Amd64
Version: 4.121.1.0
FullName: Oracle.DataAccess, Version=4.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342
GlobalAssemblyCache: True
PortableExecutableKinds: ILOnly, PE32Plus
ImageFileMachine: AMD64
Creating connnection using Oracle.DataAccess.Client.OracleConnection to MyCompany.ConnectionStrings.Oracle.MYSCHEMA
Connnection False
TestOdpNetConnection using Oracle.DataAccess. Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=SERVERDB)(PORT=1523))(CONNECT_DATA=(SID=oas1d)));User Id=XXXXX;Password=XXXXX;
Oracle.DataAccess. Abriendo conexión a Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=SERVERDB)(PORT=1523))(CONNECT_DATA=(SID=oas1d)));User Id=XXXXX;Password=XXXXX;
TestOdpNetConnection. Error en la conexión.
Msg: Oracle.DataAccess.Client.OracleException at Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck, Int32 isRecoverable)
at Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, Object src)
at Oracle.DataAccess.Client.OracleConnection.Open()
at MyCompany.SourceRepository.OdpNetHelper.TestOdpNetConnection(String connectionString, String& trace) in c:\TFS\Main\MyCompany.Lite.Frk\Net4.0\Tests\Apps\WcfServiceLibrary\Common\OdpNetHelper.cs:line 60
Creating connnection using OdpNetDataContext to MyCompany.ConnectionStrings.Oracle.MYSCHEMA
ConnectionString: DATA SOURCE=MyDataSource;PASSWORD=XXXX;PERSIST SECURITY INFO=True;USER ID=MYSCHEMA
Database: data source=MyDataSource;persist security info=true;
DbProviderFactory: Oracle.DataAccess.Client.OracleClientFactory
Executing ExecuteNonQuery
Test Name: Obtener_datos_de_OdpNet_con_servicio_AnyCPU
Test Outcome: Passed
Result StandardOutput:
TestContext Messages:
Result:
OK
*** LOG ***
Environment Data:
ProcessName: iisexpress
Is64BitOperatingSystem: True
Is64BitProcess: False
SystemConfigurationFile: C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config
ConfigurationFile: C:\TFS\Main\MyCompany.Lite.Frk\Net4.0\Tests\Apps\WcfService\web.config
MainModule.FileName: C:\Program Files (x86)\IIS Express\iisexpress.exe
MainModule.ModuleName: iisexpress.exe
BaseDirectory: C:\TFS\Main\MyCompany.Lite.Frk\Net4.0\Tests\Apps\WcfService\
ApplicationBase: C:\TFS\Main\MyCompany.Lite.Frk\Net4.0\Tests\Apps\WcfService\
FriendlyName: /LM/W3SVC/3/ROOT-5-130404614413883655
ApplicationName: 6e9d8358
Assembly Data:
Location: C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\9aada5e4\6e9d8358\assembly\dl3\12388fd2\79a8efa4_4d4acf01\MyCompany.Lite.Frk.Data.Tests.WcfServiceLibrary.dll
ProcessorArchitecture: MSIL
Referenced Assemblies of MyCompany.Lite.Frk.Data.Tests.WcfServiceLibrary
mscorlib - None Location C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscorlib.dll - X86
System - None Location C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll - MSIL
System.Core - None Location C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll - MSIL
Oracle.DataAccess - None Location C:\Windows\Microsoft.Net\assembly\GAC_32\Oracle.DataAccess\v4.0_4.112.2.0__89b483f429c47342\Oracle.DataAccess.dll - X86
System.Data - None Location C:\Windows\Microsoft.Net\assembly\GAC_32\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll - X86
System.ServiceModel - None Location C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.ServiceModel\v4.0_4.0.0.0__b77a5c561934e089\System.ServiceModel.dll - MSIL
MyCompany.Lite.Data - None Location C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\9aada5e4\6e9d8358\assembly\dl3\7ec82898\90904b1f_c349cf01\MyCompany.Lite.Data.dll - MSIL
Microsoft.Practices.EnterpriseLibrary.Data - None Location C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\9aada5e4\6e9d8358\assembly\dl3\f06f5054\c453c0e2_d648cf01\Microsoft.Practices.EnterpriseLibrary.Data.dll - MSIL
System.Runtime.Serialization - None Location C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Runtime.Serialization\v4.0_4.0.0.0__b77a5c561934e089\System.Runtime.Serialization.dll - MSIL
Oracle.DataAccess Data:
Assembly: Oracle.DataAccess, Version=4.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342
AssemblyQualifiedName: Oracle.DataAccess.Client.OracleConnection, Oracle.DataAccess, Version=4.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342
Module.FullyQualifiedName: C:\Windows\Microsoft.Net\assembly\GAC_32\Oracle.DataAccess\v4.0_4.121.1.0__89b483f429c47342\Oracle.DataAccess.dll
Location: C:\Windows\Microsoft.Net\assembly\GAC_32\Oracle.DataAccess\v4.0_4.121.1.0__89b483f429c47342\Oracle.DataAccess.dll
ProcessorArchitecture: X86
Version: 4.121.1.0
FullName: Oracle.DataAccess, Version=4.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342
GlobalAssemblyCache: True
PortableExecutableKinds: ILOnly, Required32Bit
ImageFileMachine: I386
Creating connnection using Oracle.DataAccess.Client.OracleConnection to MyCompany.ConnectionStrings.Oracle.MYSCHEMA
Connnection True
TestOdpNetConnection using Oracle.DataAccess. Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=SERVERDB)(PORT=1523))(CONNECT_DATA=(SID=oas1d)));User Id=XXXXX;Password=XXXXX;
Oracle.DataAccess. Abriendo conexión a Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=SERVERDB)(PORT=1523))(CONNECT_DATA=(SID=oas1d)));User Id=XXXXX;Password=XXXXX;
Oracle.DataAccess.OracleConnection State: Open
Oracle.DataAccess.OracleConnection ServerVersion: 11.2.0.3.0
Oracle.DataAccess.OracleConnection DataSource: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=SERVERDB)(PORT=1523))(CONNECT_DATA=(SID=oas1d)))
Oracle.DataAccess.OracleConnection ServiceName: sys$users
Oracle.DataAccess.OracleConnection InstanceName: oas1d
Oracle.DataAccess.OracleConnection HostName: SERVERDB
Oracle.DataAccess.OracleConnection DatabaseName: oas1d
Oracle.DataAccess.OracleConnection DatabaseDomainName: null
Conectado True y cerrando conexión
Creating connnection using OdpNetDataContext to MyCompany.ConnectionStrings.Oracle.MYSCHEMA
ConnectionString: DATA SOURCE=MyDataSource;PASSWORD=xxxxxx;PERSIST SECURITY INFO=True;USER ID=MYSCHEMA
Database: data source=MyDataSource;persist security info=true;
DbProviderFactory: Oracle.DataAccess.Client.OracleClientFactory
Executing ExecuteNonQuery
Result: -1 para select sysdate from dual
My environment:
I use Windows 8.1 64 bits.
I use VS 2012 Ultimate 32bit
I have installed:
64-bit ODAC 11.2 Release 3 (11.2.0.2.1) Xcopy for Windows x64
Location: C:\app\Company\odp.net\bin\2.x\Oracle.DataAccess.dll - ProcessorArchitecture: Amd64
Location: C:\app\Company\odp.net\bin\4\Oracle.DataAccess.dll - ProcessorArchitecture: Amd64
ODAC 11.2 Release 3 (11.2.0.2.1)
Location: C:\app\Company\product\11.2.0\client_2\odp.net\bin\2.x\Oracle.DataAccess.dll - ProcessorArchitecture: X86
Location: C:\app\Company\product\11.2.0\client_2\odp.net\bin\4\Oracle.DataAccess.dll - ProcessorArchitecture: X86
64-bit ODAC 12c Release 2 (12.1.0.1.2) for Windows x64
Location: C:\app\Company\product\12.1.0\client_1\odp.net\bin\2.x\Oracle.DataAccess.dll - ProcessorArchitecture: Amd64
Location: C:\app\Company\product\12.1.0\client_1\odp.net\bin\4\Oracle.DataAccess.dll - ProcessorArchitecture: Amd64
ODAC 12c Release 2 (12.1.0.1.2) and Oracle Developer Tools for Visual Studio
Location: C:\app\Company\product\12.1.0\client_2\odp.net\bin\2.x\Oracle.DataAccess.dll - ProcessorArchitecture: X86
Location: C:\app\Company\product\12.1.0\client_2\odp.net\bin\4\Oracle.DataAccess.dll - ProcessorArchitecture: X86
TNSNames.ora in this paths:
C:\app\Company\Network\Admin
C:\app\Company\product\11.2.0\client_2\Network\Admin
C:\app\Company\product\12.1.0\client_1\Network\Admin
C:\app\Company\product\12.1.0\client_2\Network\Admin
In GAC, I have all these references:
Oracle.DataAccess 32bit - 2.112.2.0 - CLR 2.0
Oracle.DataAccess 32bit - 2.121.1.0 - CLR 2.0
Oracle.DataAccess 64bit - 2.112.2.0 - CLR 2.0
Oracle.DataAccess 64bit - 2.121.1.0 - CLR 2.0
Oracle.DataAccess 32bit - 4.112.2.0 - CLR 4.0
Oracle.DataAccess 32bit - 4.121.1.0 - CLR 4.0
Oracle.DataAccess 64bit - 4.112.2.0 - CLR 4.0
Oracle.DataAccess 64bit - 4.121.1.0 - CLR 4.0
Oracle.ManagedDataAccess MSIL - 4.212.1.0 - CLR 4.0
Oracle.ManagedDataAccessDTC 32bit - 4.212.1.0 - CLR 4.0
Oracle.ManagedDataAccessDTC 64bit - 4.212.1.0 - CLR 4.0