Sono nuovo di zecca per NHibernate e Fluent NHibernate e sto cercando di ottenere la seguente configurazione per funzionare.NHibernate fluente - Configura provider di dati Oracle ODP
private static ISessionFactory CreateSessionFactory()
{
return Fluently.Configure()
.Database(
OracleDataClientConfiguration.Oracle10.ConnectionString("Data Source=mysource;User ID=myid;Password=mypwd;")
)
.Mappings(m =>
m.FluentMappings.AddFromAssemblyOf<Program>())
.BuildSessionFactory();
}
Ho l'assembly Oracle.DataAccess a cui si fa riferimento. Sto usando CONTRO 2010 e .Net 4
ottengo la seguente eccezione:
FluentNHibernate.Cfg.FluentConfigurationException è stata gestita Messaggio = una configurazione non valida o incompleta è stato utilizzato durante la creazione di un SessionFactory. Controlla la collezione PotentialReasons e InnerException per maggiori dettagli.
Source = FluentNHibernate StackTrace: a FluentNHibernate.Cfg.FluentConfiguration.BuildSessionFactory() in D: \ Builds \ FluentNH \ src \ FluentNHibernate \ Cfg \ FluentConfiguration.cs: linea 98 a HibernateLearning.Program.CreateSessionFactory() in C: \ Projects \ CPS Test Concepts \ Main \ Source \ CPSTestConcepts \ Source \ HibernateLearning \ Program.cs: riga 48 su HibernateLearning.Program.Main (String [] args) in C: \ Projects \ CPS Test Concepts \ Main \ Source \ CPSTestConcepts \ Source \ HibernateLearning \ Program.cs: riga 21 in System.AppDomain._nExecuteAssembly (assembly RuntimeAssembly, String [] args) in System.AppDomain.ExecuteAssembly (String assemblyFile, Evidence assemblySecurity, String [] args) a Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() a System.Threading.ThreadHelper.ThreadStart_Context (stato Object) a System.Threading.ExecutionContext.Run (ExecutionContext ExecutionContext, ContextCallback callback, oggetto di stato, booleano ignoreSyncCtx) a System.Threading.ExecutionContext.Run (ExecutionContext ExecutionContext, ContextCallback callback, Object state) a System.Threading.ThreadHelper.ThreadStart() InnerException: NHibernate.HibernateException Message = Impossibile creare il driver dal NHibernate.Driver.OracleDataClientDriver, NHibernate , Versione = 2.1.2.4000, Cultura = neutrale, PublicKeyToken = aa95f207798dfdb4. Source = NHibernate StackTrace: a NHibernate.Connection.ConnectionProvider.ConfigureDriver (IDictionary 2 settings) at NHibernate.Connection.ConnectionProvider.Configure(IDictionary
2 impostazioni) a NHibernate.Connection.ConnectionProviderFactory.NewConnectionProvider (IDictionary 2 settings) at NHibernate.Cfg.SettingsFactory.BuildSettings(IDictionary
2 oggetti) a NHibernate.Cfg.Configuration.BuildSettings() a NHibernate.Cfg.Configuration.BuildSessionFactory() a FluentNHibernate.Cfg.FluentConfiguration.BuildSessionFactory() in d: \ Builds \ FluentNH \ src \ FluentNHibernate \ Cfg \ FluentConfiguration.cs: linea 93 InnerException: System.Reflection.TargetInvocationException Messaggio = L'eccezione è stata lanciata dall'obiettivo di un'invocazione. Source = mscorlib StackTrace: a System.RuntimeTypeHandle.CreateInstance (tipo RuntimeType, booleano publicOnly, booleano NOCHECK, booleano & canBeCached, RuntimeMethodHandleInternal & ctor, booleano & bNeedSecurityCheck) a System.RuntimeType.CreateInstanceSlow (booleano publicOnly, booleano skipCheckThis, booleano FillCache) a System.RuntimeType.CreateInstanceDefaultCtor (booleano publicOnly, booleano skipVisibilityChecks, booleano skipCheckThis, booleano FillCache) a System.Activator.CreateInstance (tipo tipo, booleano non pubbliche) a System.Activator.CreateInstance (tipo Type) a NHibernate.Bytecode.ActivatorObjectsFactory.Creat eInstance (Tipo tipo) presso NHibernate.Connection.ConnectionProvider.ConfigureDriver (impostazioni IDictionary`2) InnerException: NHibernate.HibernateException Message = L'implementazione IDbCommand e IDbConnection nell'assembly Oracle.DataAccess non è stata trovata. Assicurarsi che l'assembly Oracle.DataAccess si trovi nella directory dell'applicazione o nella Global Assembly Cache. Se l'assembly si trova nella GAC, utilizzare l'elemento nel file di configurazione dell'applicazione per specificare il nome completo dell'assembly. Source = NHibernate StackTrace: a NHibernate.Driver.ReflectionBasedDriver..ctor (String driverAssemblyName, String connectionTypeName, String commandTypeName) a NHibernate.Driver.OracleDataClientDriver..ctor() InnerException:
Perché questo è un wiki? – DCookie
Ho cliccato per errore. Scusate. Come rimuovo la bandiera wiki? –
Non puoi. Puoi solo cancellare e ripubblicare. Non è un grosso problema, non otterrai punti reputazione se è in promozione. – DCookie