C# 通过ODP.NET的nhibernate 3.0 Oracle连接
有人能告诉我下面的nhibernate配置有什么问题吗?使用最新的ODP.NET版本C# 通过ODP.NET的nhibernate 3.0 Oracle连接,c#,.net,nhibernate,connection,odp.net,C#,.net,Nhibernate,Connection,Odp.net,有人能告诉我下面的nhibernate配置有什么问题吗?使用最新的ODP.NET版本 <hibernate-configuration xmlns="urn:nhibernate-configuration-2.2" > <session-factory> <property name="connection.driver_class">NHibernate.Driver.OracleDataClientDriver</property&g
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2" >
<session-factory>
<property name="connection.driver_class">NHibernate.Driver.OracleDataClientDriver</property>
<property name="connection.connection_string">DATA SOURCE=Oracle2;PERSIST SECURITY INFO=True;USER ID=***;PASSWORD=*****</property>
<property name="show_sql">true</property>
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<property name="dialect">NHibernate.Dialect.Oracle9Dialect</property>
<property name="query.substitutions">true 1, false 0, yes 'Y', no 'N'</property>
</session-factory>
</hibernate-configuration>
我想我明白了。必须调用Configure(“hibernate.cfg.xml”) 我在使用NHibernate和Oracle(ODP.NET)时遇到了不少问题。 最后,唯一对我有效的方法就是引用Oracle.DataAccess.dll版本2.111,为DLL指定Copy Local=true。 在我的Nhibernate配置中,我使用了Oracle10gDialogue。 最后但并非最不重要的一点是,我使用了这种新的连接字符串样式:
<property name="connection.connection_string">
Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.1)(PORT=1522)))(CONNECT_DATA=(SERVICE_NAME=DIAP60FF)));User ID=myusername;Password=mypassword;</property>
数据源=(描述=(地址列表=(地址=(协议=TCP)(主机=192.168.1.1)(端口=1522))(连接数据=(服务名称=DIP60FF));用户ID=我的用户名;密码=我的密码;
此外,NHibernate.dialogue.oracle9dialogue没有方言。必须是NHibernate.dia方言.Oracle9iDialect.Deepfreezed,如果您找到了解决方案,请将其标记为已接受的答案。这就是stackoverflow的工作原理!:)
<property name="connection.connection_string">
Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.1)(PORT=1522)))(CONNECT_DATA=(SERVICE_NAME=DIAP60FF)));User ID=myusername;Password=mypassword;</property>