Установите свойство hibernate.dialect сообщение об ошибке - PullRequest
0 голосов
/ 28 декабря 2010

У меня возникает следующая ошибка при настройке mvc3 и Nhibernate.Может кто-нибудь направить меня, что я пропустил, пожалуйста.

диалект не был установлен.Установите свойство hibernate.dialect.Описание: во время выполнения текущего веб-запроса произошло необработанное исключение.Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.

Сведения об исключении: NHibernate.HibernateException: диалект не был установлен.Задайте свойство hibernate.dialect.

Ошибка источника:

Строка 16: {Строка 17: NHibernate.Cfg.Configuration configuration = new NHibernate.Cfg.Configuration ();Строка 18: configuration.AddAssembly (System.Reflection.Assembly.GetExecutingAssembly ());Строка 19: sessionFactory = configuration.BuildSessionFactory ();Строка 20:}


Мой web.config выглядит следующим образом:

<configSections>
<section name="cachingConfiguration"type="Microsoft.Practices.EnterpriseLibrary.Caching.Configuration.CacheManagerSettings,Microsoft.Practices.EnterpriseLibrary.Caching"/>
<section name="log4net"type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
<section name="hibernate-configuration"type="NHibernate.Cfg.ConfigurationSectionHandler,

NHibernate "/>

  <appSettings>
    <add key="BusinessObjectAssemblies" value="Keeper.API"></add>
    <add key="ConnectionString" value="Server=localhost\SQLSERVER2005;Database=KeeperDev;User=test;Pwd=test;"></add>
    <add key="ClientValidationEnabled" value="true"/> 
    <add key="UnobtrusiveJavaScriptEnabled" value="true"/> 
  </appSettings>



<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
    <session-factory>
      <property name="dialect">NHibernate.Dialect.MsSql2000Dialect</property>
      <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
      <property name="connection.connection_string">Server=localhost\SQLServer2005;Database=KeeperDev;User=test;Pwd=test;</property>
      <property name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>
    </session-factory>
  </hibernate-configuration>

Ответы [ 2 ]

3 голосов
/ 05 января 2011

Из вашей строки подключения кажется, что вы подключаетесь к серверу 2k5. Если это так, в соответствии с документами NHibernate , диалект должен быть установлен на NHibernate.Dialect.MsSql2005Dialect.

Это пример конфигурации из документов:

<session-factory>
    <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
    <property name="dialect">NHibernate.Dialect.MsSql2005Dialect</property>
    <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
    <property name="connection.connection_string">Server=(local);Initial Catalog=dbname;User Id=user;Password=********</property>
</session-factory>

Вы можете попробовать, если у вас работает диалект на NHibernate.Dialect.MsSql2005Dialect.

0 голосов
/ 06 января 2011

Я сделал простую и глупую ошибку. Я не включил правильную версию NHibernate.

Спасибо @Marjin за ответ.

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