| 
 | 
 
环境:maven tomcat7 oracle11g 
版本:jeecg3.8 
错误情况:用在线聊天工具时,向好友发送信息,好友未收到,我的控制台报错 
错误 rg.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [INSERT INTO `jp_chat_message_his` (id,msg_from,msg_to,msg_data,create_date,type,readed) VALUES ( ?, ?, ?, ?, sysdate(), ?, 0 );]; nested exception is java.sql.SQLException: ORA-00911: 无效字符 
 
at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:97) 
        at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:73) 
        at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81) 
        at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81) 
        at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:660) 
        at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:909) 
        at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:933) 
        at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.update(NamedParameterJdbcTemplate.java:313) 
        at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.update(NamedParameterJdbcTemplate.java:318) 
        at org.jeecgframework.minidao.aop.MiniDaoHandler.getReturnMinidaoResult(MiniDaoHandler.java:298) 
        at org.jeecgframework.minidao.aop.MiniDaoHandler.invoke(MiniDaoHandler.java:108) 
        at com.sun.proxy.$Proxy99.insert(Unknown Source) 
        at com.jeecg.chat.service.impl.ChatMessageHistoryServiceImpl.insert(ChatMessageHistoryServiceImpl.java:46) 
        at com.jeecg.chat.web.WebSocket.onMessage(WebSocket.java:135) 
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
        at java.lang.reflect.Method.invoke(Unknown Source) 
        at org.apache.tomcat.websocket.pojo.PojoMessageHandlerWholeBase.onMessage(PojoMessageHandlerWholeBase.java:80) 
        at org.apache.tomcat.websocket.WsFrameBase.sendMessageText(WsFrameBase.java:369) 
        at org.apache.tomcat.websocket.WsFrameBase.processDataText(WsFrameBase.java:468) 
        at org.apache.tomcat.websocket.WsFrameBase.processData(WsFrameBase.java:272) 
        at org.apache.tomcat.websocket.WsFrameBase.processInputBuffer(WsFrameBase.java:116) 
        at org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:54) 
        at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler$WsReadListener.onDataAvailable(WsHttpUpgradeHandler.java:192) 
        at org.apache.coyote.http11.upgrade.AbstractServletInputStream.onDataAvailable(AbstractServletInputStream.java:178) 
        at org.apache.coyote.http11.upgrade.AbstractProcessor.upgradeDispatch(AbstractProcessor.java:92) 
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:601) 
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) 
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
        at java.lang.Thread.run(Unknown Source) 
Caused by: java.sql.SQLException: ORA-00911: 无效字符 
 
        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:113) 
        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331) 
        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288) 
        at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:754) 
        at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:219) 
        at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:972) 
        at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1192) 
        at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3415) 
        at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3499) 
        at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_executeUpdate(FilterChainImpl.java:2843) 
        at com.alibaba.druid.filter.FilterAdapter.preparedStatement_executeUpdate(FilterAdapter.java:1091) 
        at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_executeUpdate(FilterEventAdapter.java:491) 
        at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_executeUpdate(FilterChainImpl.java:2841) 
        at com.alibaba.druid.proxy.jdbc.PreparedStatementProxyImpl.executeUpdate(PreparedStatementProxyImpl.java:194) 
        at com.alibaba.druid.pool.DruidPooledPreparedStatement.executeUpdate(DruidPooledPreparedStatement.java:256) 
        at org.springframework.jdbc.core.JdbcTemplate$2.doInPreparedStatement(JdbcTemplate.java:916) 
        at org.springframework.jdbc.core.JdbcTemplate$2.doInPreparedStatement(JdbcTemplate.java:909) 
        at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:644) 
        ... 27 more 
        [2018-11-06 11:04:40] [INFO] [com.jeecg.chat.web.WebSocket:250] 发生错误 
 |   
 
 
 
 |