java.sql.BatchUpdateException: 出现不支持的 SQL92 标记: 15
java.sql.BatchUpdateException: 出现不支持的 SQL92 标记: 15
at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:12296)
at oracle.jdbc.driver.OracleStatementWrapper.executeBatch(OracleStatementWrapper.java:246)
at com.szunicom.mall4.MsgDeliver.utils.DBGetSource.executeUpdateMSGDeliver(DBGetSource.java:200)
at com.szunicom.mall4.MsgDeliver.DBInput.IRowReaderImpl.executeBeans(IRowReaderImpl.java:117)
at com.szunicom.mall4.MsgDeliver.DBInput.IRowReaderImpl.getRows(IRowReaderImpl.java:110)
at com.szunicom.mall4.MsgDeliver.DBInput.Excel2007Reader.endElement(Excel2007Reader.java:214)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
查了一下,问题一般出在sql语句上。检查一下自己的yml文件里的sql语句,为了方便管理,sql中的表名引用tablename变量。
sql没问题,启动后查看insertsql变量有无正确引用语句。
变量根本没被引用到,才发现不能这么写ry…修改为${dbtable.tableName}后,sql语句正确解读了。程序不再报错。
总结:碰到不支持的 SQL92 标记错误,应该检查sql语句是否有问题。