diff --git a/sdk/extensions/extensions-datasource/src/main/java/io/dataease/extensions/datasource/provider/Provider.java b/sdk/extensions/extensions-datasource/src/main/java/io/dataease/extensions/datasource/provider/Provider.java index 029fb32ba5..8b434c2666 100644 --- a/sdk/extensions/extensions-datasource/src/main/java/io/dataease/extensions/datasource/provider/Provider.java +++ b/sdk/extensions/extensions-datasource/src/main/java/io/dataease/extensions/datasource/provider/Provider.java @@ -8,6 +8,7 @@ import io.dataease.extensions.datasource.dto.*; import io.dataease.extensions.datasource.model.SQLMeta; import io.dataease.extensions.datasource.vo.DatasourceConfiguration; import lombok.Getter; +import net.sf.jsqlparser.parser.CCJSqlParserUtil; import org.apache.calcite.config.Lex; import org.apache.calcite.sql.SqlDialect; import org.apache.calcite.sql.SqlNode; @@ -196,8 +197,13 @@ public abstract class Provider { } public String replaceComment(String s) { - String regex = "/\\*[\\s\\S]*?\\*/|-- .*"; - return s.replaceAll(regex, " "); + try { + net.sf.jsqlparser.statement.Statement parse = CCJSqlParserUtil.parse(s); + return parse.toString(); + } catch (Exception e) { + DEException.throwException("SQL ERROR"); + } + return null; } public SqlDialect getDialect(DatasourceSchemaDTO coreDatasource) {