C# 无法从NHibernate.driver.OracleDataClientDriver创建驱动程序(复制本地设置为true)
我甚至在app.config中添加了以下配置:C# 无法从NHibernate.driver.OracleDataClientDriver创建驱动程序(复制本地设置为true),c#,.net,oracle,nhibernate,C#,.net,Oracle,Nhibernate,我甚至在app.config中添加了以下配置: <qualifyAssembly partialName="Oracle.DataAccess" fullName="Oracle.DataAccess, Version=2.112.2.0, Culture=neutral, PublicKeyToken
<qualifyAssembly partialName="Oracle.DataAccess"
fullName="Oracle.DataAccess,
Version=2.112.2.0,
Culture=neutral,
PublicKeyToken=89b483f429c47342" />
</assemblyBinding>
。。。没有成功。有什么不对劲吗?
另外,为了确保我的app.config是风水,这里是:
<?xml version="1.0"?>
<configuration>
<configSections>
<section name="hibernate-configuration"
type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate"/>
</configSections>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
<property name="show_sql">true</property>
<property name="dialect">NHibernate.Dialect.Oracle10gDialect</property>
<property name="connection.driver_class">
NHibernate.Driver.OracleDataClientDriver
</property>
<property name="connection.connection_string_name">
GuitarStore2
</property>
<property name="connection.provider">
NHibernate.Connection.DriverConnectionProvider
</property>
</session-factory>
</hibernate-configuration>
<connectionStrings>
<add name="GuitarStore"
connectionString="****************"/>
<add name="GuitarStore2"
connectionString="****************"/>
</connectionStrings>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<qualifyAssembly partialName="Oracle.DataAccess"
fullName="Oracle.DataAccess,
Version=2.112.2.0,
Culture=neutral,
PublicKeyToken=89b483f429c47342" />
</assemblyBinding>
</runtime>
</configuration>
真的
NHibernate.方言
NHibernate.Driver.OracleDataClientDriver
吉他店2
NHibernate.Connection.DriverConnectionProvider
为了记录在案,我正在使用最新的Nhibernate(3.3.1),在.NET3.5上,在Windows7 64位下。而且,对于完全相同的项目,我在另一台机器上没有遇到任何异常,但使用Windows XP。问题不是NHibernate,而是IL在使用32位版本的ODP时生成64位代码的事实,因此只需将“任意CPU”选项更改为“x86”,我排除了该异常。在尝试使用MS的ADO.NET Oracle提供程序后,我遇到了另一个有趣的错误:“尝试加载Oracle客户端库时引发了BadImageFormatException。在安装了32位Oracle客户端组件的情况下以64位模式运行时,会出现此问题。”我觉得Oracle提供商也发生了同样的事情。