有没有人能够成功地将NHibernate与Oracle Lite一起使用,如果是,你可以告诉我在hibernate.cfg.xml中需要提及的是什么,我的意思是哪种方言以及我们如何连接它。感谢。
答案 0 :(得分:1)
您使用的是哪个版本的NH?看起来这个功能很新,只在实际的Aplha中实现:2.1.0.Alpha1
改进:
* [NH-1644] - 具有工作查询参数的Oracle Lite驱动程序
我没有试过,所以我不能说要使用什么连接字符串,但方言应该是'OracleLiteDialect',因为Alexandre Payment说here。 Jira issues已经解决,所以值得一试。
如果能够连接,请发布连接字符串。
答案 1 :(得分: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 Lite数据库:
<Oracle lite user name>_<Database name>
SYSTEM
例如,如果您的OL用户名是SCOTT,您的密码是TIGER,数据库名称是FOO,Oracle Lite连接字符串是:dsn=SCOTT_FOO;uid=SYSTEM;pwd=TIGER
希望这有帮助
答案 2 :(得分:0)
Driver和Dialect类的名称空间分别为NHibernate.Driver
和NHibernate.Dialect
。您可以使用智能感知或反射器来准确查看可用的内容。
Oracle Lite的会话工厂配置:
<property name="connection.connection_string">...</property>
<property name="connection.driver_class">NHibernate.Driver.OracleLiteDataClientDriver</property>
<property name="dialect">NHibernate.Dialect.OracleLiteDialect</property>
Oracle连接字符串的描述为here。