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

DB2 不支持该LIMIT x关键字。

正如错误消息所说,这样做的正确方法将改为使用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 回答