![](/img/trans.png)
[英]Could not create the driver from NHibernate.Driver.OracleDataClientDriver
[英]Could not create the driver from NHibernate.Driver.OracleDataClientDriver (with copy local set to true)
我甚至在app.config中添加了這個小配置:
<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>
為了記錄,我在Windows 7 64位下使用最新的Nhibernate(3.3.1),在.NET 3.5上。 並且,對於完全相同的項目,我在另一台機器上遇到沒有例外,但是在Windows XP中。
問題不在於NHibernate,而是IL在使用32位版本的ODP時生成64位代碼的事實,因此只需將“Any CPU”選項更改為“x86”,我就擺脫了異常。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.