NHibernate и Oracle Lite - PullRequest
       12

NHibernate и Oracle Lite

0 голосов
/ 25 февраля 2010

Кто-нибудь может успешно использовать NHibernate с Oracle Lite. Если да, можете ли вы сказать мне, что мы должны упомянуть в hibernate.cfg.xml, я имею в виду, какой диалект и как мы к нему подключаемся. Спасибо.

Ответы [ 3 ]

1 голос
/ 06 января 2012

Вот 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:

  • DSN обычно строится как <Oracle lite user name>_<Database name>
  • идентификатор пользователя SYSTEM
  • пароль - это действительный пароль пользователя Oracle Lite

Например, если ваше имя пользователя OL - SCOTT, ваш пароль - TIGER, а имя базы данных - FOO, строка подключения Oracle Lite: dsn=SCOTT_FOO;uid=SYSTEM;pwd=TIGER

Надеюсь, это поможет

1 голос
/ 25 февраля 2010

Какую версию NH вы используете? Похоже, что эта функция является совершенно новой, реализованной только в реальном Aplha: 2.1.0.Alpha1.
Улучшения: * +1002 * * [NH-1644] - драйвер Oracle Lite с рабочими параметрами запроса

Я не пробовал, поэтому не могу сказать, какую строку подключения использовать, но диалект должен быть «OracleLiteDialect», как сказано в платеже Александра здесь . Проблемы Jira решены, поэтому стоит попробовать.

Пожалуйста, опубликуйте строку подключения, если вы смогли подключиться.

0 голосов
/ 25 февраля 2010

Пространства имен для классов драйвера и диалекта NHibernate.Driver и NHibernate.Dialect соответственно Вы можете использовать Intellisense или Reflector, чтобы точно увидеть, что доступно.

Конфигурация фабрики сеансов для 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 описаны здесь .

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