문제

Nhibernate를 사용하여 몇 가지 새로운 개체를 Firebird 데이터베이스에 삽입하려고합니다.

"다음 시퀀스 값을 얻을 수 없음 [SQL : SQL을 사용할 수 없음]오류가 발생합니다.

현재 내가 사용하고있는 매핑은 다음과 같습니다. 참고 anml_evnt는 내가 사용하려는 생성기의 이름입니다.

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


    </id>
도움이 되었습니까?

해결책

여전히 여기서 답을 찾고 있다면 여기에서 내가 성공적으로 사용한 방법입니다.

"기본"생성기를 사용합니다. SQL Server에 대한 지원을 프로그램에 추가 할 때 Nhibernate의 유일한 것은 Firebird와 SQL Server가 "자동 증분 ID"열을 구현하기 때문에 변경 해야하는 유일한 것은 "기본"으로 변경해야했기 때문입니다. Firebird에서는 명명 된 발전기를 사용하고 SQL Server에서 "시퀀스"매개 변수를 무시하고 내장 된 자동 점수를 사용합니다.

내가 말하는 내용의 예는 다음과 같습니다.

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

Gcores가 대답했듯이 모든 말을 통해 구성에 잘못된 것은 ANML_EVNT 이후의 추가 ">"입니다.

다른 팁

괜찮아 보입니다. ANML_EVNT 이후의 문제는 엔드 브래킷이 아닙니다.

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


</id>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top