I wrote a rather complicated C # application that accesses the oracle database through ODP.Net. I developed the application on a Windows XP machine (32-bit), where I installed ODAC (32-bit). The application runs smoothly on my development computer, but throws an exception on the server (Windows Server 2003 x64 Service Pack 2).
I installed the runtime environment for .Net framework 4.0 (dotNetFx40_Full_x86_x64.exe) on the server, as well as ODAC - first I tried with release 4 (11.2.0.3.0) for Windows x64, and then with ODAC 11.2 Release 4 (11.2.0.3. 0) with Oracle Developer Tools for Visual Studio.
None of the workers. The 32-bit version got a bit more. The first time I call the LINQ statement in the database, I get the following message.
at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
at System.Reflection.RuntimeModule.GetTypes()
at System.Reflection.Assembly.GetTypes()
at System.Data.Metadata.Edm.ObjectItemAttributeAssemblyLoader.LoadTypesFromAssembly()
at System.Data.Metadata.Edm.ObjectItemAssemblyLoader.Load()
at System.Data.Metadata.Edm.ObjectItemAttributeAssemblyLoader.Load()
at System.Data.Metadata.Edm.AssemblyCache.LoadAssembly(Assembly assembly, Boolean loadReferencedAssemblies, ObjectItemLoadingSessionData loadingData)
at System.Data.Metadata.Edm.AssemblyCache.LoadAssembly(Assembly assembly, Boolean loadReferencedAssemblies, KnownAssembliesSet knownAssemblies, EdmItemCollection edmItemCollection, Action`1 logLoadMessage, Object& loaderCookie, Dictionary`2& typesInLoading, List`1& errors)
at System.Data.Metadata.Edm.ObjectItemCollection.LoadAssemblyFromCache(ObjectItemCollection objectItemCollection, Assembly assembly, Boolean loadReferencedAssemblies, EdmItemCollection edmItemCollection, Action`1 logLoadMessage)
at System.Data.Metadata.Edm.ObjectItemCollection.ImplicitLoadAssemblyForType(Type type, EdmItemCollection edmItemCollection)
at System.Data.Metadata.Edm.MetadataWorkspace.ImplicitLoadAssemblyForType(Type type, Assembly callingAssembly)
at System.Data.Objects.ObjectContext.GetTypeUsage(Type entityCLRType)
at System.Data.Objects.ObjectContext.GetEntitySetForNameAndType(String entitySetName, Type entityCLRType, String exceptionParameterName)
at System.Data.Objects.ObjectContext.CreateObjectSet[TEntity](String entitySetName)
at MyProgram.Data.DT.DTContext3.get_MYTABLE()
The 64-bit version tells me that I do not have Oracle.Access support, which is the same as the original error message I received when I first tried to run the application with ODAC on the server.
Can any of you help me with this? I saw some notes discussing similar issues, and the only convincing answer I saw was to create an executable with Copy Local set to TRUE for all links, but even that failed. I still get the same error message.