我/在 db2 语句中都添加了字符作为语句终止符。我可以在数据工作室客户端中运行 sql 文件,没有任何问题。但是当我通过发出db2 -tsvf db2.sql命令在 db2 命令提示符下运行 sql 文件时,我得到了
DB21007E End of file reached while reading the command.
Run Code Online (Sandbox Code Playgroud)
错误。我可以通过更改语句终止字符解决此问题/至;。我的问题是我应该将语句终止符保留为/或;吗?如果我保留/,有什么办法也可以从命令行运行 sql 文件吗?
我在 SQL Server 2008 中使用 jtds 1.2.2 驱动程序。下面是我尝试执行的查询
SELECT * from AM_API FETCH NEXT 10 ROWS ONLY
Run Code Online (Sandbox Code Playgroud)
无论如何,在执行上述查询后,我得到以下错误
Caused by: java.sql.SQLException: Invalid usage of the option NEXT in the FETCH statement.
at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:368)
at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2816)
at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2254)
at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:631)
at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQLQuery(JtdsStatement.java:477)
at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.executeQuery(JtdsPreparedStatement.java:777)
at org.jaggeryjs.hostobjects.db.DatabaseHostObject.executeQuery(DatabaseHostObject.java:510)
Run Code Online (Sandbox Code Playgroud)
知道如何解决这个问题吗?
更新
我读过这篇文章,说 FETCH 仅适用于 SQL Server 2012 以上。那么如何在SQL server 2008 中限制结果。要执行的查询不在我的控制之下。我只是后缀FETCH NEXT 10 ROWS ONLY到查询以限制结果。那么有没有办法通过添加限制查询作为查询的后缀来限制结果。