Frage

Ich versuche, einige neue Objekte in eine Firebird-Datenbank einfügen mit NHibernate.

Ich erhalte den Fehler „nicht nächste Sequenz Wert bekommen konnte [SQL: SQL nicht verfügbar]“

Hier ist die Abbildung ich derzeit bin mit. Hinweis ANML_EVNT ist der Name des Generators I verwendet werden soll.

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


    </id>
War es hilfreich?

Lösung

Wenn Sie immer noch auf eine Antwort zu suchen hier ist, wie ich es erfolgreich verwendet haben.

Ich verwende das „native“ Generator, weil, wenn die Unterstützung für SQL Server zu unserem Programm das einzige, was in NHibernate Hinzufügen ich die Generatortypen ändern musste, war zu „native“, da Firebird und SQL Server implementieren ihre „auto Inkrementieren Identität“ Spalten anders. In Firebird verwendet den Namen Generator und in SQL Server ignoriert es die „Sequenz“ Parameter und verwendet die Auto-Inkrement eingebaut.

Hier ist das Beispiel dafür, was ich spreche:

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

Mit all das gesagt, als gcores beantwortet, alles, was falsch zu sein scheint mit der Config der extra ">" nach ANML_EVNT.

Andere Tipps

Das sieht alles in Ordnung. Das Problem ist nicht das Ende Klammer nach ANML_EVNT, nicht wahr?

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


</id>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top