【发布时间】:2011-03-17 01:22:40
【问题描述】:
我是 NHibernate 和 Fluent NHibernate 的新手,我正在尝试使以下配置正常工作。
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();
}
我引用了 Oracle.DataAccess 程序集。我正在使用 VS 2010 和 .Net 4
我得到以下异常:
FluentNHibernate.Cfg.FluentConfigurationException 未处理 Message=创建 SessionFactory 时使用了无效或不完整的配置。查看PotentialReasons 集合和InnerException 了解更多详情。
来源=FluentNHibernate
堆栈跟踪:
在 d:\Builds\FluentNH\src\FluentNHibernate\Cfg\FluentConfiguration.cs:line 98 中的 FluentNHibernate.Cfg.FluentConfiguration.BuildSessionFactory()
在 C:\Projects\CPS Test Concepts\Main\Source\CPSTestConcepts\Source\HibernateLearning\Program.cs:line 48 中的 HibernateLearning.Program.CreateSessionFactory()
在 C:\Projects\CPS Test Concepts\Main\Source\CPSTestConcepts\Source\HibernateLearning\Program.cs:line 21 中的 HibernateLearning.Program.Main(String[] args)
在 System.AppDomain._nExecuteAssembly(RuntimeAssembly 程序集,字符串 [] 参数)
在 System.AppDomain.ExecuteAssembly(字符串 assemblyFile,证据 assemblySecurity,String [] args)
在 Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
在 System.Threading.ThreadHelper.ThreadStart_Context(对象状态)
在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext,ContextCallback 回调,对象状态,布尔 ignoreSyncCtx)
在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext,ContextCallback 回调,对象状态)
在 System.Threading.ThreadHelper.ThreadStart()
内部异常:NHibernate.HibernateException
消息=无法从 NHibernate.Driver.OracleDataClientDriver、NHibernate、版本=2.1.2.4000、文化=中性、PublicKeyToken=aa95f207798dfdb4 创建驱动程序。
来源=NHibernate
堆栈跟踪:
在 NHibernate.Connection.ConnectionProvider.ConfigureDriver(IDictionary2 settings)
at NHibernate.Connection.ConnectionProvider.Configure(IDictionary2 设置)
在 NHibernate.Connection.ConnectionProviderFactory.NewConnectionProvider(IDictionary2 settings)
at NHibernate.Cfg.SettingsFactory.BuildSettings(IDictionary2 属性)
在 NHibernate.Cfg.Configuration.BuildSettings()
在 NHibernate.Cfg.Configuration.BuildSessionFactory()
在 d:\Builds\FluentNH\src\FluentNHibernate\Cfg\FluentConfiguration.cs:line 93 中的 FluentNHibernate.Cfg.FluentConfiguration.BuildSessionFactory()
内部异常:System.Reflection.TargetInvocationException
Message=Exception 已被调用的目标抛出。
源=mscorlib
堆栈跟踪:
在 System.RuntimeTypeHandle.CreateInstance(RuntimeType 类型,Boolean publicOnly,Boolean noCheck,Boolean& canBeCached,RuntimeMethodHandleInternal& ctor,Boolean& bNeedSecurityCheck)
在 System.RuntimeType.CreateInstanceSlow(布尔 publicOnly,布尔 skipCheckThis,布尔 fillCache)
在 System.RuntimeType.CreateInstanceDefaultCtor(布尔 publicOnly,布尔skipVisibilityChecks,布尔skipCheckThis,布尔fillCache)
在 System.Activator.CreateInstance(类型类型,布尔非公共)
在 System.Activator.CreateInstance(类型类型)
在 NHibernate.Bytecode.ActivatorObjectsFactory.CreateInstance(类型类型)
在 NHibernate.Connection.ConnectionProvider.ConfigureDriver(IDictionary`2 设置)
内部异常:NHibernate.HibernateException
Message=无法找到程序集 Oracle.DataAccess 中的 IDbCommand 和 IDbConnection 实现。确保程序集 Oracle.DataAccess 位于应用程序目录或全局程序集缓存中。如果程序集在 GAC 中,请使用应用程序配置文件中的元素来指定程序集的全名。
来源=NHibernate
堆栈跟踪:
在 NHibernate.Driver.ReflectionBasedDriver..ctor(String driverAssemblyName, String connectionTypeName, String commandTypeName)
在 NHibernate.Driver.OracleDataClientDriver..ctor()
内部异常:
【问题讨论】:
-
我误点击了。对不起。如何删除 wiki 标志?
-
你不能。您只能删除和重新发布。这没什么大不了的,如果被点赞,您将不会获得任何声望点数。
标签: oracle configuration fluent-nhibernate odp.net