Pregunta

Estoy tratando de insertar algunos objetos nuevos en una base de datos firebird usando NHibernate.

Recibo el error " no se pudo obtener el siguiente valor de secuencia [SQL: SQL no disponible] "

Aquí está el mapeo que estoy usando en este momento. Tenga en cuenta que ANML_EVNT es el nombre del generador que quiero usar.

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


    </id>
¿Fue útil?

Solución

Si todavía está buscando una respuesta, aquí es cómo la he usado con éxito.

Uso el " nativo " generador porque al agregar soporte para SQL Server a nuestro programa, lo único que tuve que cambiar en NHibernate fueron los tipos de generador a " nativo " porque Firebird y SQL Server implementan su " identidad incremental automática " columnas de manera diferente En Firebird usó el generador nombrado y en SQL Server ignora la secuencia " " parámetro y utiliza el incremento automático incorporado.

Este es el ejemplo de lo que estoy hablando:

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

Con todo lo dicho, como contestó gcores, todo lo que parece estar mal con tu configuración es el " > " después de ANML_EVNT.

Otros consejos

Eso se ve bien. El problema no es el corchete final después de ANML_EVNT, ¿verdad?

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


</id>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top