1

NHibernateを使用してFirebirdデータベースにいくつかの新しいオブジェクトを挿入しようとしています。

「次のシーケンス値を取得できませんでした[SQL:SQLが利用できません]」というエラーが表示されます

これが私が現在使用しているマッピングです。注ANML_EVNTは、使用するジェネレーターの名前です。

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


    </id>
4

2 に答える 2

4

あなたがまだ答えを探しているなら、私がそれをうまく使った方法があります.

「ネイティブ」ジェネレーターを使用するのは、プログラムに SQL Server のサポートを追加するときに NHibernate で変更する必要があったのは、ジェネレーターの種類を「ネイティブ」にすることだけだったからです。Firebird では名前付きジェネレーターを使用し、SQL Server では "sequence" パラメーターを無視して組み込みの自動インクリメントを使用します。

これが私が話していることの例です:

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

そうは言っても、gcoresが答えたように、構成に問題があるように見えるのは、ANML_EVNTの後の余分な「>」だけです。

于 2009-01-13T20:58:34.243 に答える
2

それは大丈夫です。問題は ANML_EVNT の後のエンド ブラケットではありませんよね?

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


</id>
于 2009-01-05T23:52:47.023 に答える