[alibaba/druid]数据库是SqlServer druid版本 1.2.5 解析sql报错:illegal sql expr : center..ad_sql_parser, pos 8, line 1, column 7, token..

2025-11-11 140 views
6

示例 sql select id,data_base_name,type_name,table_name,operation_name,remark from center..ad_sql_parser where type_name=1 order by data_base_name 执行解析 报错 illegal sql expr : center..ad_sql_parser, pos 8, line 1, column 7, token.. 改成order by ‘data_base_name’ 或换成 group by data_base_name 就解析通过不报错 是语法不支持还是什么原因?求指教 谢谢。

回答

9

自己尝试了下master的代码,发现可以正常解析操作:


 @Test
    public void testSqlServer() {
        String sql =
            "select id,data_base_name,type_name,table_name,operation_name,remark from center.ad_sql_parser where "
                + "type_name=1 order by data_base_name";
        List<SQLStatement> sqlStatements = SQLUtils.parseStatements(sql, DbType.sqlserver);
        assertEquals(1, sqlStatements.size());
    }
3

center .. ad_sql_parser 是不是多打了个点

8

您好 不是多打个点 是我这边要求执行的语句就是两个点。 而且我也试了 两个点是可以解析成功拿到结果集(表名,操作命令)只是 要是 语句 带上order by 就失败