Windows 服务器 x64 中与 NHibernate 的 Oracle 驱动程序连接

Oracle Driver Connection with NHibernate in Windows Server x64

我正在 Windows Server 2008 R2 Enterprise x64 和 C# Windows Form 应用程序中工作,以使用 NHibernate 连接 Oracle 11g 数据库。我使用了以下 NHibernate 配置:

string connectionProvider = "NHibernate.Connection.DriverConnectionProvider";
string dialect = "NHibernate.Dialect.Oracle10gDialect";
//to use OracleDataClientDriver (ODP.NET), must configure the appropriated "Plataform Target".
//In Windows Server, is not possible work with ODAC x64, because the Windows Form Application don't accept
//"Platform Target" = "Any CPU" configuration. For this, it was intalled the ODAC1120320_32bit
connectionDriver = "NHibernate.Driver.OracleDataClientDriver";
string connectionString = ...

用了几天,现在出现错误"Could not create the driver from NHibernate.Driver.OracleDataClientDriver."。 C#工程配置如图: 我真的不知道我还需要做什么测试,因为 32 位和 64 位的 ODAC 已经安装和卸载了。请帮忙。谢谢。

如果您使用的是 Nhibernate 4,则可以使用 OracleManagedDataClientDriver 和 odp.net 托管驱动程序 (https://www.nuget.org/packages/odp.net.managed/)。这是一个 "any client" 驱动程序,您不会在机器上安装任何东西。它使支持 Oracle 变得如此容易。无需再将 ODAC .dll 复制到您的部署目录。