Pergunta

Eu estou tentando inserir alguns novos objetos em um banco de dados firebird usando NHibernate.

Eu recebo o erro "não poderia obter valor seguinte seqüência [SQL: SQL não disponível]"

Aqui está o mapeamento Eu estou usando no momento. Nota ANML_EVNT é o nome do gerador Quero uso.

    <id name="Id" column="ID" type="integer">
        <generator class="sequence">
            <param name="sequence">ANML_EVNT></param>   
        </generator>


    </id>
Foi útil?

Solução

Se você ainda está procurando uma resposta aqui é como eu usei-o com sucesso.

Eu uso o gerador de "nativo" porque quando a adição de suporte para SQL Server para o nosso programa a única coisa em NHibernate Eu tive que mudar foi os tipos de geradores para "nativo" porque Firebird e SQL Server implementar o seu "auto incremento de identidade" colunas diferente. Em Firebird-lo usado o gerador de chamada e no SQL Server ignora o parâmetro "seqüência" e usa o auto-incremento construído em.

Aqui está o exemplo do que estou falando:

<id name="Id" column="ID">
   <generator class="native">
      <param name="sequence">ANML_EVNT</param>
   </generator>
</id>

Com tudo o que disse, como gcores respondeu, tudo o que parece ser errado com sua configuração é o extra ">" depois ANML_EVNT.

Outras dicas

Isso parece tudo bem. O problema não é o suporte de final após ANML_EVNT, certo?

 <id name="Id" column="ID" type="integer">
      <generator class="sequence">
          <param name="sequence">ANML_EVNT</param>       
      </generator>


</id>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top