J'ai développé une nouvelle application qui utilise Entity Framework pour accéder à une base de données Oracle. Cela fonctionne comme prévu localement, en utilisant la dernière version de ODP.NET. J'essaye maintenant de déployer cette application sur un serveur de production exécutant beaucoup d'autres applications héritées. Idéalement, j'aimerais que ma nouvelle application utilise ses propres DLL ODP.NET/Oracle et ne modifie pas l'installation d'Oracle existante sur le serveur prod.Déploiement d'Oracle Instant Client aux côtés d'installations Oracle existantes
J'ai suivi ce guide:
http://jeremybranham.wordpress.com/2011/04/25/oracle-instant-client-with-odp-net/
Ce qui semble avoir eu un certain succès sur la base des commentaires.
Cependant, je reçois l'exception suivante lors d'une tentative de créer les entités objet:
Exception externe
Exception has been thrown by the target of an invocation.
Exception intérieure
The type initializer for 'Oracle.DataAccess.Client.OracleClientFactory' threw an exception.
at System.RuntimeFieldHandle.GetValue(RtFieldInfo field, Object instance, RuntimeType fieldType, RuntimeType declaringType, Boolean& domainInitialized)
at System.Reflection.RtFieldInfo.InternalGetValue(Object obj, Boolean doVisibilityCheck, Boolean doCheckConsistency)
at System.Reflection.RtFieldInfo.GetValue(Object obj)
at System.Data.Common.DbProviderFactories.GetFactory(DataRow providerRow)
at System.Data.Common.DbProviderFactories.GetFactory(String providerInvariantName)
at System.Data.EntityClient.EntityConnection.GetFactory(String providerString)
at System.Data.EntityClient.EntityConnection.ChangeConnectionString(String newConnectionString)
at System.Data.EntityClient.EntityConnection..ctor(String connectionString)
at System.Data.Objects.ObjectContext.CreateEntityConnection(String connectionString)
at System.Data.Objects.ObjectContext..ctor(String connectionString, String defaultContainerName)
at MyAppMVC.Models.DataModels.STSProcedureEntities..ctor()
at MyAppMVC.Services.MyService.GetPersons(String lastName)