Oracle“ORA-00911: 无效字符”解决方式
在工作中碰到ORA-00911:无效字符的问题,
代码如下:
<select id="querySendMsg" parameterType="map" resultMap="sendMsgResult"> select t.employee_code,t.phone_no,t.wechat_id,t.employee_name,t.send_msg,t.send_time from itsc_msg_abnormal_record t where t.orderNo in <foreach item="item" index="index" collection="orderNoList" open="(" separator="," close=")"> #{item} </foreach>; </select>
错误如下:
### The error occurred while setting parameters
### SQL: select t.* from itsc_msg_abnormal_record t where t.orderNo in ( ? , ? ) ;
### Cause: java.sql.SQLSyntaxErrorException: ORA-00911: 无效字符
; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: ORA-00911: 无效字符
发现是在select语句末尾多加了一个分号';'
去掉即可