Quick BI的数据源是SQL Server,使用SQL创建数据集报错“数据源执行SQL失败:INTERNAL: java.lang.RuntimeException: SQL execute error by datasource... com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near the keyword 'ORDER'. ”
更新时间:
问题描述
本文描述了Quick BI的数据源是SQL Server,使用SQL创建数据集报错“数据源执行SQL失败:INTERNAL: java.lang.RuntimeException: SQL execute error by datasource... com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near the keyword 'ORDER'. ”的解决方法。
报错信息如下:
traceId:526801e5-96b2-406e-a114-df4ff6dcd2aa;
errMsg:数据源执行SQL失败:INTERNAL: java.lang.RuntimeException: SQL execute error by datasource...
com.microsoft.sqlserver.jdbc.SQLServerException:
Incorrect syntax near the keyword 'ORDER'.
com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:216)
com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1515)
com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteStatement(SQLServerStatement.java:792)
com.microsoft.sqlserver.jdbc.SQLServerStatement$StmtExecCmd.doExecute(SQLServerStatement.java:689)
com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696)
SQL在数据库中可以正常执行:
问题原因
Quick BI执行查询会在外面加一个select * from ()
,将您的查询变成子查询。
解决方案
将SQL中的order by
排序去掉, 在数据集上设置排序。
适用于
- Quick BI
- v.4.3
文档内容是否对您有帮助?