Oracle-соединение nhibernate 3.0 через ODP.NET - PullRequest
0 голосов
/ 21 октября 2010

Может кто-нибудь сказать мне, что не так с конфигом nhibernate ниже?Используя последнюю версию ODP.NET.

<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>

Я получаю следующую ошибку

Error 1 Test 'ODPNETNH.Tests.GenerateSchema_Fixture.Can_generate_schema' failed: NHibernate.MappingException : Could not compile the mapping document: ODPNETNH.Mappings.Vendor.hbm.xml
  ----> NHibernate.HibernateException : Could not instantiate dialect class NHibernate.Dialect.Oracle9Dialect
  ----> System.TypeLoadException : Could not load type NHibernate.Dialect.Oracle9Dialect. Possible cause: no assembly name specified.
at NHibernate.Cfg.Configuration.LogAndThrow(Exception exception)
at NHibernate.Cfg.Configuration.AddDeserializedMapping(HbmMapping mappingDocument, String documentFileName)
at NHibernate.Cfg.Configuration.AddValidatedDocument(NamedXmlDocument doc)
at NHibernate.Cfg.Configuration.ProcessMappingsQueue()

Ответы [ 2 ]

1 голос
/ 13 января 2011

У меня было довольно много проблем при работе с NHibernate и Oracle (ODP.NET).В конце концов, единственное, что сработало для меня, это ссылка на Oracle.DataAccess.dll ver. 2.111 , указав Копировать Local = true для DLL.В моей конфигурации Nhibernate я использовал Oracle10gDialect .И последнее, но не менее важное: я использовал этот новый стиль строки подключения:

<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>
0 голосов
/ 21 октября 2010

Думаю, я понял это.Пришлось вызвать Configure ("hibernate.cfg.xml");

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...