1

RailsアプリがリモートDB2データベースに接続されており、移行時に次のエラーが発生します。

==  DropLegacyProject: migrating ========================================
rake aborted!
An error has occurred, this and all later migrations canceled:

RuntimeError: Failed to execute statement due to: [IBM][CLI Driver][DB2/LINUXX8664] SQL0104N  An unexpected token "LIMIT" was found following "".  Expected tokens may include:  "FETCH FIRST <n> ROWS ONLY".  SQLSTATE=42601 SQLCODE=-104: SELECT  projects.* FROM projects WHERE projects.id < 17 LIMIT 1

どうすればこれを修正できますか?

4

2 に答える 2

5

LIMIT xDB2はキーワードをサポートしていません。

エラーメッセージにあるように、これを行う適切な方法はFETCH FIRST x ROWS ONLY代わりに使用することです。

于 2012-11-01T18:58:29.937 に答える
4

bhambyが示唆したように、DB2はデフォルトLIMIT xでキーワード...をサポートしていません。

ただし、DB2 v9.7.2以降では、 DB2_COMPATIBILITY_VECTORレジストリー変数を介してのサポートをLIMIT x有効にできます。

db2set DB2_COMPATIBILITY_VECTOR=MYS
db2stop
db2start

...そしてそれは機能します!

于 2012-11-01T19:08:05.680 に答える