我在使用C#Windows窗体应用程序的Windows Server 2008 R2 Enterprise x64中工作,以使用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 = ...
它工作了几天,但现在,错误"无法从NHibernate.Driver.OracleDataClientDriver创建驱动程序。"出现。 C#项目配置如下图所示: 我真的不知道我需要做多少测试,因为32位和64位的ODAC已经安装并且没有安装。请帮忙。谢谢。
答案 0 :(得分:2)
如果您使用的是Nhibernate 4,则可以使用OracleManagedDataClientDriver和odp.net托管驱动程序(https://www.nuget.org/packages/odp.net.managed/)。这是一个"任何客户"司机,你不会在机器上安装任何东西。它使得支持Oracle变得更加容易。不再将ODAC .dll复制到您的部署目录。