TypeORM을 이용해서 SQL Server 2008 DB에 연결해 데이터를 가져오는 과정에서 문제가 생겼다.
QueryFailedError: Error: Invalid usage of the option NEXT in the FETCH statement.
SQL Server 2008 버전은 MS에서도 서비스를 종료했지만 작업 진행 중인 장비 특성상 DB의 버전을 변경할 수 없는 처지여서 원인을 찾고 해결해 보기로 했다.
SQL Server 2008 버전은 너무 구버전이어서 MS 홈페이지에서도 매뉴얼을 찾을 수 없다.
관련 내용을 찾아보니 OFFSET/FETCH 구문이 SQL Server 2011 버전 이후에 도입된 듯하다. 아래 링크는 관련 이슈 내용이다.
https://github.com/typeorm/typeorm/issues/4038
특히 FETCH 구문은 TypeORM의 findOne(), findOneOrFail() 함수에서 사용이 되는데, 이 것이 문제의 원인이 되었다.
그러서 나는 간단하게 findOne(), findOneOrFail() 함수를 사용하지 않고 모두 find()로 수정하여 해결을 하였다.