我開發了一個使用實體框架訪問Oracle數據庫的新應用程序。這是本地預期的工作,使用最新版本的ODP.NET。我現在試圖在運行許多其他遺留應用程序的生產服務器上部署此應用程序。理想情況下,我希望我的新應用程序能夠使用自己的ODP.NET/Oracle dll,而不必在prod服務器上更改現有的Oracle安裝。與現有Oracle安裝一起部署Oracle Instant Client
我遵循這個指南:
http://jeremybranham.wordpress.com/2011/04/25/oracle-instant-client-with-odp-net/
這似乎已經基於該意見取得了一些成功。
不過,我試圖創建實體時,遇到下列異常對象:
外層的異常
Exception has been thrown by the target of an invocation.
內部異常
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)