天天看點

Druid報錯:com.alibaba.druid.parser.ParserException:sysntax error,except RPAREN,actual EXCEPT EXCEPT

一、錯誤原因及解決

      此錯誤是因為Druid的WallFilter過濾器進行了SQL語句的過濾,發現有此版本的Druid不支援的SQL文法,故報此錯誤。如果SQL語句在資料庫用戶端确定運作沒有問題,那麼可以将下面的filters屬性的wall去掉。此時重新開機代碼就不會再報錯。

Druid報錯:com.alibaba.druid.parser.ParserException:sysntax error,except RPAREN,actual EXCEPT EXCEPT

二、WallFilter知識

     Druid提供了Filter-Chain模式的擴充API,可以自己編寫Filter攔截JDBC中的任何方法,可以在上面做任何事情,比如說性能監控、SQL審計、使用者名密碼加密、日志等等。 

     Druid内置提供了用于監控的StatFilter、日志輸出的Log系列Filter、防禦SQL注入攻擊的WallFilter。 

     阿裡巴巴内部實作了用于資料庫密碼加密的CirceFilter,以及和Web、Spring關聯監控的DragoonStatFilter。

     WallFilter作用:防禦SQL注入攻擊的。

三、WallFilter配置

    參考druid官網:https://github.com/alibaba/druid/wiki/%E9%85%8D%E7%BD%AE-wallfilter

繼續閱讀