Юникодные строки с NHibernate и Oracle - PullRequest
0 голосов
/ 27 сентября 2011

Я использую конфигурацию ниже для NHibernate для подключения к Oracle. В одном из классов я храню строку Unicode, например, 日本語 (日本). Поле данных для столбца NVARCHAR2 (), однако, при получении данных значение повреждено, показывая ??? (??). Где-то вдоль линии я теряю свою кодировку, но я теряюсь относительно того, где. Есть идеи?

  <hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
  <property name="connection.driver_class">NHibernate.Driver.OracleDataClientDriver</property>
  <property name="connection.connection_string_name">Oracle</property>
  <property name="show_sql">true</property>
  <property name="dialect">NHibernate.Dialect.Oracle10gDialect</property>
  <property name="query.substitutions">true 1, false 0, yes 'Y', no 'N'</property>
  <property name="cache.use_second_level_cache">true</property>
  <property name="adonet.batch_size">30</property>
  <property name="cache.provider_class">NHibernate.Caches.SysCache.SysCacheProvider, NHibernate.Caches.SysCache</property>
  <property name="proxyfactory.factory_class">NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu</property>
</session-factory>

1 Ответ

1 голос
/ 27 февраля 2012

доза NHibernate не использовать NVarChar2. Если вы хотите, чтобы NHibernate использовал NVarchar2, вам нужно написать собственный диалект базы данных.

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