Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Erro ao criar tabela com Hibernet no SQL Server

Olá estou tentando criar uma tabela usando o Hibernet em um serviço windows porém estou tendo o seguinte erro: An exception occurred during configuration of persistence layer.

Estou seguido os passos da vídeo : 1 - adicionei o hibernet.cfg.xml para Copiar sempre na opção "copiar para diretório de Saída" , Ação de compilação = "Conteúdo".

O Sctacktrace: Exceção gerada: 'NHibernate.Cfg.HibernateConfigException' em NHibernate.dll em NHibernate.Cfg.ConfigurationSchema.HibernateConfiguration..ctor(XmlReader hbConfigurationReader, Boolean fromAppSetting) em NHibernate.Cfg.Configuration.Configure(XmlReader textReader) em NHibernate.Cfg.Configuration.Configure(String fileName) em NHibernate.Cfg.Configuration.Configure() em ListOrders.Infrastructure.NHibernateHelper.RecoverConfiguration() na C:\Users\leonan.saraiva\Documents\devops-drogariasp\DrogariaSP\ListOrders\Infrastructure\NHibernateHelper.cs:linha 19 "ListOrders.exe" (CLR v4.0.30319: ListOrders.exe): Carregado "C:\Progr

Arquivo de configuração:

<?xml version="1.0" encoding="utf-8" ?>
<!-- Configuração do NHibernate-->
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2" >
  <session-factory>
    <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
    <property name="dialect">NHibernate.Dialect.MsSql2016Dialect</property>
    <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>

    <property name="connection.connection_string">
      Server=******;
      Database=********;
      Integrated Security=True;
      User ID=****;
      Password=*****;
    </property>
    <property name="show_sql">true</property>
  </session-factory>
</hibernate-configuration>
6 respostas

Olá, Leonan

Você pode postar aqui o conteúdo do arquivo NHibernateHelper.cs, por favor? E onde está localizado o arquivo de configuração hibernet.cfg.xml? Obrigado!

Marcelo Oliveira, Descobrir que o Visual Studio não estava copiando copiando o arquivo para a pasta bin mesmo tendo flegado essa opção. Procurando mais sobre o assunto descobri que exite uma biblioteca Fluent que me ajudou na usabilidade do NHibernate.

Ah sim, tinha me esquecido disso. além da ação de compilação = "Conteúdo", você deve mudar a opção logo abaixo para "copy always" ou "copy if newer".

Mesmo mudando, ele copiava com a pasta junto. E o programa não conseguia achar.

solução!

Ah sim, então precisa ver como você está buscando esse arquivo de confiugração em NHibernateHelper.cs. Precisa incluir também o nome da pasta no caminho do arquivo de configuração.

Obrigado pelo retorno, como conseguir resolver usando o Fluent.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software