diff --git a/src/main/java/com/alibaba/druid/filter/wall/WallFilter.java b/src/main/java/com/alibaba/druid/filter/wall/WallFilter.java index d90da8a0a2..9319b55cc0 100644 --- a/src/main/java/com/alibaba/druid/filter/wall/WallFilter.java +++ b/src/main/java/com/alibaba/druid/filter/wall/WallFilter.java @@ -9,6 +9,7 @@ import com.alibaba.druid.filter.FilterAdapter; import com.alibaba.druid.filter.FilterChain; import com.alibaba.druid.filter.wall.spi.MySqlWallProvider; import com.alibaba.druid.filter.wall.spi.OracleWallProvider; +import com.alibaba.druid.filter.wall.spi.SQLServerProvider; import com.alibaba.druid.logging.Log; import com.alibaba.druid.logging.LogFactory; import com.alibaba.druid.proxy.jdbc.CallableStatementProxy; @@ -56,6 +57,12 @@ public class WallFilter extends FilterAdapter { if (config == null) { config = new WallConfig(OracleWallProvider.DEFAULT_CONFIG_DIR); } + } else if (JdbcUtils.SQL_SERVER.equals(dbType)) { + provider = new SQLServerProvider(config); + + if (config == null) { + config = new WallConfig(SQLServerProvider.DEFAULT_CONFIG_DIR); + } } else { throw new IllegalStateException("dbType not support : " + dbType); } diff --git a/src/main/java/com/alibaba/druid/filter/wall/WallUtils.java b/src/main/java/com/alibaba/druid/filter/wall/WallUtils.java index e25fbe2d3b..1d786fab74 100644 --- a/src/main/java/com/alibaba/druid/filter/wall/WallUtils.java +++ b/src/main/java/com/alibaba/druid/filter/wall/WallUtils.java @@ -2,6 +2,7 @@ package com.alibaba.druid.filter.wall; import com.alibaba.druid.filter.wall.spi.MySqlWallProvider; import com.alibaba.druid.filter.wall.spi.OracleWallProvider; +import com.alibaba.druid.filter.wall.spi.SQLServerProvider; public class WallUtils { @@ -24,4 +25,14 @@ public class WallUtils { OracleWallProvider provider = new OracleWallProvider(config); return provider.checkValid(sql); } + + public static boolean isValidateSqlServer(String sql) { + SQLServerProvider provider = new SQLServerProvider(); + return provider.checkValid(sql); + } + + public static boolean isValidateSqlServer(String sql, WallConfig config) { + SQLServerProvider provider = new SQLServerProvider(config); + return provider.checkValid(sql); + } }