2010-02-24 38 views
0

有沒有人能夠成功地將NHibernate和Oracle Lite一起使用,如果是,你能告訴我在hibernate.cfg.xml中我們需要提及什麼,我的意思是哪種方言以及我們如何連接到它。謝謝。NHibernate和Oracle Lite

回答

1

您正在使用哪個版本的NH?看起來這個功能是相當新的,只在實際的Aplha:2.1.0.Alpha1中實現。
改進:
* [NH-1644] - 甲骨文精簡版驅動程序工作查詢參數

我還沒有嘗試過,所以我不能說用什麼連接字符串,但方言應該是「OracleLiteDialect」作爲亞歷山大付款說here。 Jira issues已解決,因此應該值得一試。

如果能夠連接,請發佈連接字符串。

0

Driver和Dialect類的命名空間分別爲NHibernate.DriverNHibernate.Dialect。您可以使用Intellisense或Reflector準確查看可用內容。爲Oracle精簡版

甲會話工廠配置:

<property name="connection.connection_string">...</property> 
<property name="connection.driver_class">NHibernate.Driver.OracleLiteDataClientDriver</property> 
<property name="dialect">NHibernate.Dialect.OracleLiteDialect</property> 

Oracle連接字符串描述here

1

下面是一個測試項目,我前一段時間提出在app.config:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <configSections> 
    <section name="hibernate-configuration" type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate"/> 
    </configSections> 
    <hibernate-configuration xmlns="urn:nhibernate-configuration-2.2"> 
    <session-factory> 
     <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property> 
     <property name="dialect">NHibernate.Dialect.OracleLiteDialect</property> 
     <property name="connection.driver_class">NHibernate.Driver.OdbcDriver</property> 
     <property name="connection.connection_string">dsn=TheDSN;uid=TheUserId;pwd=ThePassword</property> 
     <property name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property> 
     <property name="show_sql">true</property> 
    </session-factory> 
    </hibernate-configuration> 
</configuration> 

注:連接到本地Oracle數據庫精簡版:

  • 的DSN通常被編譯成<Oracle lite user name>_<Database name>
  • 用戶標識爲SYSTEM
  • 密碼是Oracle Lite用戶的實際密碼

舉例來說,如果你的OL用戶名是SCOTT,密碼爲TIGER,數據庫名稱爲FOO,甲骨文精簡版連接字符串:dsn=SCOTT_FOO;uid=SYSTEM;pwd=TIGER

希望這有助於