1

我正在使用C#Windows窗體應用程序在Windows Server 2008 R2 Enterprise x64中使用NHibernate連接Oracle 11g數據庫。我用了NHibernate的跟隨配置:Oracle驅動程序與Windows Server x64中的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#項目配置如下圖所示: enter image description here 我真的不知道我需要做更多的測試,因爲32位和64位的ODAC已經安裝並且未被阻塞。請幫忙。謝謝。

+0

你知道'NHibernate.Driver.OracleDataClientDriver'是否違揹你的64位或你的32位ODAC? – DWright 2015-03-18 22:59:08

+0

對不起,我不明白你的問題。安裝的ODAC是ODAC1120320_32bit(奇怪的是:這個在兩週前的測試中有效)。 SO是64位,應用中的平臺目標是32位(與ODAC一致)。這回答你的問題?謝謝 – 2015-03-19 00:09:19

+0

我從odac客戶端文件夾引用C#中的odp.net dll。 – 2015-03-19 00:13:04

回答

2

如果您使用的是Nhibernate 4,則可以使用OracleManagedDataClientDriver和odp.net管理的驅動程序(https://www.nuget.org/packages/odp.net.managed/)。這是一個「任何客戶端」驅動程序,你不會在機器上安裝任何東西。它使得支持Oracle變得更加容易。不再需要將ODAC .dll複製到您的部署目錄。

+0

完美。因爲我在Windows Server 2008中工作,所以這不允許Visual Studio 2013(使用nuget包),然後我使用了這篇文章的第二個答案:http://stackoverflow.com/questions/4566908/how-can -i - 使用 - 的NuGet與 - 視覺-C-尖銳快車。謝謝弗蘭。 – 2015-03-19 17:04:36

相關問題