Entity Framework を使用して Oracle データベースにアクセスする新しいアプリケーションを開発しました。これは、最新バージョンの ODP.NET を使用して、ローカルで期待どおりに機能しています。現在、他の多くのレガシー アプリケーションを実行している運用サーバーにこのアプリケーションをデプロイしようとしています。理想的には、新しいアプリケーションで独自の ODP.NET / Oracle dll を使用し、製品サーバー上の既存の Oracle インストールを変更する必要がないようにしたいと考えています。
私はこのガイドに従いました:
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)