页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

(此文档仅供参考)

问题描述:

高速缓存库中表数据预览报错,具体报错信息如下

代码块
 ERROR exceptionToString(smartbi.framework.rmi.RMIServlet:336) - DataSourceService.getSampleTableDataOnBrowser error.
smartbi.SmartbiException: SQL错误
	at smartbi.freequery.basicdata.MetaDataServiceImpl.getTableDataByPage(MetaDataServiceImpl.java:3330) ~[smartbi-FreeQuery.jar:?]
	at ...(...) ~[?:?]
	at smartbi.log.PreparedStatementWarp.executeQuery(PreparedStatementWarp.java:183) ~[smartbi-Common.jar:?]
Caused by: ru.yandex.clickhouse.except.ClickHouseException: ClickHouse exception, code: 62, host: ip, port: 8123; Code: 62, e.displayText() = DB::Exception: Syntax error: failed at position 1224: 'smartbimpp'.'TEST_20210105' T4744 limit 20 FORMAT TabSeparatedWithNamesAndTypes;. Expected one of: SELECT subquery, compound identifier, identifier, element of expression with optional alias, list of elements, table, table function, subquery or list of joined tables, table or subquery or table function, function

	at ru.yandex.clickhouse.except.ClickHouseExceptionSpecifier.specify(ClickHouseExceptionSpecclickhouseifier.java:58) ~[_JDBC_clickhouse-jdbc-0.1.35.jar:?]
	at ru.yandex.clickhouse.except.ClickHouseExceptionSpecifier.specify(ClickHouseExceptionSpecifier.java:28) ~[_JDBC_clickhouse-jdbc-0.1.35.jar:?]
	at ru.yandex.clickhouse.ClickHouseStatementImpl.getInputStream(ClickHouseStatementImpl.java:528) ~[_JDBC_clickhouse-jdbc-0.1.35.jar:?]
	at ru.yandex.clickhouse.ClickHouseStatementImpl.executeQuery(ClickHouseStatementImpl.java:107) ~[_JDBC_clickhouse-jdbc-0.1.35.jar:?]
	at ru.yandex.clickhouse.ClickHouseStatementImpl.executeQuery(ClickHouseStatementImpl.java:91) ~[_JDBC_clickhouse-jdbc-0.1.35.jar:?]
	at ru.yandex.clickhouse.ClickHouseStatementImpl.executeQuery(ClickHouseStatementImpl.java:87) ~[_JDBC_clickhouse-jdbc-0.1.35.jar:?]
	at ru.yandex.clickhouse.ClickHousePreparedStatementImpl.executeQuery(ClickHousePreparedStatementImpl.java:156) ~[_JDBC_clickhouse-jdbc-0.1.35.jar:?]
	at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96) ~[commons-dbcp-1.4.jar:1.4]
	at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96) ~[commons-dbcp-1.4.jar:1.4]
	at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96) ~[commons-dbcp-1.4.jar:1.4]
	at smartbi.log.PreparedStatementWarp.executeQuery(PreparedStatementWarp.java:183) ~[smartbi-Common.jar:?]
	at smartbi.freequery.querydata.SQLExecutor.executeInner(SQLExecutor.java:339) ~[smartbi-FreeQuery.jar:?]
	at smartbi.freequery.querydata.SQLExecutor.execute(SQLExecutor.java:229) ~[smartbi-FreeQuery.jar:?]
	at smartbi.freequery.querydata.SQLExecutor.execute(SQLExecutor.java:131) ~[smartbi-FreeQuery.jar:?]
	at smartbi.freequery.basicdata.MetaDataServiceImpl.getDataByQuerySqlWithState(MetaDataServiceImpl.java:3627) ~[smartbi-FreeQuery.jar:?]
	at smartbi.freequery.basicdata.MetaDataServiceImpl.getTableDataByPage(MetaDataServiceImpl.java:3328) ~[smartbi-FreeQuery.jar:?]
	at smartbi.freequery.basicdata.MetaDataServiceImpl.getSampleTableData(MetaDataServiceImpl.java:3745) ~[smartbi-FreeQuery.jar:?]
	at smartbi.freequery.client.datasource.DataSourceService.getSampleTableDataOnBrowser(DataSourceService.java:1395) ~[smartbi-FreeQuery.jar:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_191]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_191]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_191]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_191]
	at smartbi.framework.rmi.ClientService.execute(Smartbi:119) ~[smartbi-Framework.jar:?]
	at smartbi.framework.rmi.RMIServlet.processExecute(RMIServlet.java:222) [smartbi-FrameworkRMI.jar:?]
	at smartbi.framework.rmi.RMIServlet.doPost(RMIServlet.java:160) [smartbi-FrameworkRMI.jar:?]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) [servlet-api.jar:?]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) [servlet-api.jar:?]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) [catalina.jar:8.5.57]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.57]
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) [tomcat-websocket.jar:8.5.57]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.57]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.57]
	at smartbi.extension.ExtensionFilter$2.doFilter(ExtensionFilter.java:176) [smartbi-ExtensionManager.jar:?]
	at smartbi.extension.ExtensionFilter$1.doFilter(ExtensionFilter.java:158) [smartbi-ExtensionManager.jar:?]
	at smartbi.security.patch.PatchFilter.doFilter(PatchFilter.java:73) [classes/:?]
	at smartbi.extension.ExtensionFilter$1.doFilter(ExtensionFilter.java:158) [smartbi-ExtensionManager.jar:?]
	at smartbi.dingding.filter.DDLoginFilter.doFilter(DDLoginFilter.java:119) [classes/:?]
	at smartbi.extension.ExtensionFilter$1.doFilter(ExtensionFilter.java:158) [smartbi-ExtensionManager.jar:?]
	at smartbi.extension.ExtensionFilter.doFilterInternal(ExtensionFilter.java:189) [smartbi-ExtensionManager.jar:?]
	at smartbi.extension.ExtensionFilter.doFilter(ExtensionFilter.java:70) [smartbi-ExtensionManager.jar:?]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.57]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.57]
	at smartbi.framework.rmi.TransactionFilter.doFilter(Smartbi:50) [smartbi-Framework.jar:?]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.57]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.57]
	at smartbi.freequery.filter.GZIPFilter.doFilter(GZIPFilter.java:211) [smartbi-FreeQuery.jar:?]
	at smartbi.freequery.filter.Filter.doFilter(Filter.java:36) [smartbi-FreeQuery.jar:?]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.57]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.57]
	at smartbi.freequery.filter.CheckIsLoggedFilter.doFilter(CheckIsLoggedFilter.java:209) [smartbi-FreeQuery.jar:?]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.57]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.57]
	at smartbi.freequery.filter.TraceFilter.doFilter(TraceFilter.java:61) [smartbi-FreeQuery.jar:?]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.57]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.57]
	at smartbi.framework.RedisSessionFilter.doFilter(Smartbi:125) [smartbi-Framework.jar:?]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.57]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.57]
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) [catalina.jar:8.5.57]
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) [catalina.jar:8.5.57]
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543) [catalina.jar:8.5.57]
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) [catalina.jar:8.5.57]
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) [catalina.jar:8.5.57]
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690) [catalina.jar:8.5.57]
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) [catalina.jar:8.5.57]
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) [catalina.jar:8.5.57]
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:615) [tomcat-coyote.jar:8.5.57]
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-coyote.jar:8.5.57]
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:818) [tomcat-coyote.jar:8.5.57]
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1626) [tomcat-coyote.jar:8.5.57]
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-coyote.jar:8.5.57]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_191]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_191]
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:8.5.57]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_191]
Caused by: java.lang.Throwable: Code: 62, e.displayText() = DB::Exception: Syntax error: failed at position 1224: 'smartbimpp'.'TEST_20210105' T4744 limit 20 FORMAT TabSeparatedWithNamesAndTypes;. Expected one of: SELECT subquery, compound identifier, identifier, element of expression with optional alias, list of elements, table, table function, subquery or list of joined tables, table or subquery or table function, function

	at ru.yandex.clickhouse.except.ClickHouseExceptionSpecifier.specify(ClickHouseExceptionSpecifier.java:53) ~[_JDBC_clickhouse-jdbc-0.1.35.jar:?]
	at ru.yandex.clickhouse.except.ClickHouseExceptionSpecifier.specify(ClickHouseExceptionSpecifier.java:28) ~[_JDBC_clickhouse-jdbc-0.1.35.jar:?]
	at ru.yandex.clickhouse.ClickHouseStatementImpl.getInputStream(ClickHouseStatementImpl.java:528) ~[_JDBC_clickhouse-jdbc-0.1.35.jar:?]
	at ru.yandex.clickhouse.ClickHouseStatementImpl.executeQuery(ClickHouseStatementImpl.java:107) ~[_JDBC_clickhouse-jdbc-0.1.35.jar:?]
	at ru.yandex.clickhouse.ClickHouseStatementImpl.executeQuery(ClickHouseStatementImpl.java:91) ~[_JDBC_clickhouse-jdbc-0.1.35.jar:?]
	at ru.yandex.clickhouse.ClickHouseStatementImpl.executeQuery(ClickHouseStatementImpl.java:87) ~[_JDBC_clickhouse-jdbc-0.1.35.jar:?]
	at ru.yandex.clickhouse.ClickHousePreparedStatementImpl.executeQuery(ClickHousePreparedStatementImpl.java:156) ~[_JDBC_clickhouse-jdbc-0.1.35.jar:?]
	at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96) ~[commons-dbcp-1.4.jar:1.4]
	at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96) ~[commons-dbcp-1.4.jar:1.4]
	at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96) ~[commons-dbcp-1.4.jar:1.4]
	at smartbi.log.PreparedStatementWarp.executeQuery(PreparedStatementWarp.java:183) ~[smartbi-Common.jar:?]
	at smartbi.freequery.querydata.SQLExecutor.executeInner(SQLExecutor.java:339) ~[smartbi-FreeQuery.jar:?]
	at smartbi.freequery.querydata.SQLExecutor.execute(SQLExecutor.java:229) ~[smartbi-FreeQuery.jar:?]
	at smartbi.freequery.querydata.SQLExecutor.execute(SQLExecutor.java:131) ~[smartbi-FreeQuery.jar:?]
	at smartbi.freequery.basicdata.MetaDataServiceImpl.getDataByQuerySqlWithState(MetaDataServiceImpl.java:3627) ~[smartbi-FreeQuery.jar:?]
	at smartbi.freequery.basicdata.MetaDataServiceImpl.getTableDataByPage(MetaDataServiceImpl.java:3328) ~[smartbi-FreeQuery.jar:?]
	at smartbi.freequery.basicdata.MetaDataServiceImpl.getSampleTableData(MetaDataServiceImpl.java:3745) ~[smartbi-FreeQuery.jar:?]
	at smartbi.freequery.client.datasource.DataSourceService.getSampleTableDataOnBrowser(DataSourceService.java:1395) ~[smartbi-FreeQuery.jar:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_191]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_191]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_191]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_191]
	at smartbi.framework.rmi.ClientService.execute(Smartbi:119) ~[smartbi-Framework.jar:?]
	at smartbi.framework.rmi.RMIServlet.processExecute(RMIServlet.java:222) ~[smartbi-FrameworkRMI.jar:?]
	at smartbi.framework.rmi.RMIServlet.doPost(RMIServlet.java:160) [smartbi-FrameworkRMI.jar:?]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) ~[servlet-api.jar:?]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) ~[servlet-api.jar:?]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) ~[catalina.jar:8.5.57]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[catalina.jar:8.5.57]
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) ~[tomcat-websocket.jar:8.5.57]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[catalina.jar:8.5.57]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[catalina.jar:8.5.57]
	at smartbi.extension.ExtensionFilter$2.doFilter(ExtensionFilter.java:176) ~[smartbi-ExtensionManager.jar:?]
	at smartbi.extension.ExtensionFilter$1.doFilter(ExtensionFilter.java:158) ~[smartbi-ExtensionManager.jar:?]
	at smartbi.security.patch.PatchFilter.doFilter(PatchFilter.java:73) ~[?:?]
	at smartbi.extension.ExtensionFilter$1.doFilter(ExtensionFilter.java:158) ~[smartbi-ExtensionManager.jar:?]
	at smartbi.dingding.filter.DDLoginFilter.doFilter(DDLoginFilter.java:119) ~[?:?]
	at smartbi.extension.ExtensionFilter$1.doFilter(ExtensionFilter.java:158) ~[smartbi-ExtensionManager.jar:?]
	at smartbi.extension.ExtensionFilter.doFilterInternal(ExtensionFilter.java:189) ~[smartbi-ExtensionManager.jar:?]
	at smartbi.extension.ExtensionFilter.doFilter(ExtensionFilter.java:70) ~[smartbi-ExtensionManager.jar:?]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[catalina.jar:8.5.57]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[catalina.jar:8.5.57]
	at smartbi.framework.rmi.TransactionFilter.doFilter(Smartbi:50) ~[smartbi-Framework.jar:?]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[catalina.jar:8.5.57]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[catalina.jar:8.5.57]
	at smartbi.freequery.filter.GZIPFilter.doFilter(GZIPFilter.java:211) ~[smartbi-FreeQuery.jar:?]
	at smartbi.freequery.filter.Filter.doFilter(Filter.java:36) ~[smartbi-FreeQuery.jar:?]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[catalina.jar:8.5.57]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[catalina.jar:8.5.57]
	at smartbi.freequery.filter.CheckIsLoggedFilter.doFilter(CheckIsLoggedFilter.java:209) ~[smartbi-FreeQuery.jar:?]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[catalina.jar:8.5.57]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[catalina.jar:8.5.57]
	at smartbi.freequery.filter.TraceFilter.doFilter(TraceFilter.java:61) ~[smartbi-FreeQuery.jar:?]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[catalina.jar:8.5.57]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[catalina.jar:8.5.57]
	at smartbi.framework.RedisSessionFilter.doFilter(Smartbi:125) ~[smartbi-Framework.jar:?]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[catalina.jar:8.5.57]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[catalina.jar:8.5.57]
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) ~[catalina.jar:8.5.57]
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) ~[catalina.jar:8.5.57]
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543) ~[catalina.jar:8.5.57]
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) ~[catalina.jar:8.5.57]
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) ~[catalina.jar:8.5.57]
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690) ~[catalina.jar:8.5.57]
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) ~[catalina.jar:8.5.57]
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) ~[catalina.jar:8.5.57]
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:615) ~[tomcat-coyote.jar:8.5.57]
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-coyote.jar:8.5.57]
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:818) ~[tomcat-coyote.jar:8.5.57]
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1626) ~[tomcat-coyote.jar:8.5.57]
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-coyote.jar:8.5.57]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_191]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_191]
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-util.jar:8.5.57]
	at java.lang.Thread.run(Thread.java:748) ~[?:1.8.0_191]


解决方案:

此问题是由于高速缓存库中引用标识符设置为 ' ,执行SQL评价为'smartbimpp'.'表名',clickhouse不支持这种语法出现报错,可修改为 ` ,如下图。

...