2010-10-06 58 views
1

我很明顯地遇到了一個問題,我們的應用程序正在使用NHibernate實現,其中一些較舊的部分仍使用ADO。我遇到的問題是ADO需要指定提供者才能工作。包含提供者的NHibernate連接字符串

Provider=SQLOLEDB.1;Persist Security Info=False;User ID=XXXXX;Initial Catalog=XXXX;Data Source=XX.XXX.XX.XX;Password=XXXXX; 

像這樣,當我配置怎麼過NHibernate的使用相同的連接字符串,我得到以下錯誤:

Keyword not supported: 'provider'. 

如果我從所有的ConnectionString去除提供者罰款NHibernate的。現在我可以使用兩個連接字符串,但我不想那樣做。

有沒有辦法做到這一點,而不必做兩個連接字符串,或修復NHibernate的一些缺陷?

Greetings,

F.B. 10凱特

+0

由於我沒有指定,舊的遺留東西使用ADODB.Connection。如果它會使用SqlConnection我不會有這個問題,我怎麼也不能簡單地改變連接,由於處理事務的不同方式 – 2010-10-06 10:41:50

回答

3

好吧,我想通了,我可以改變NHibernate的driver_class把事情的工作,把它改爲:

<property name="connection.driver_class">NHibernate.Driver.OleDbDriver</property> 

<property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property> 

不確定有關的任何性能命中我可能會從這裏起,至少它的功能就是這樣。

相關問題