ibatis插值报错。
com.ibatis.common.jdbc.exception.NestedSQLException:---Theerroroccurredincom/dj/ibati...
com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in com/dj/ibatis/pojo/Student.xml.
--- The error occurred while applying a parameter map.
--- Check the addStudent-InlineParameterMap.
--- Check the statement (update failed).
--- Cause: java.sql.SQLException: ORA-00911: invalid character
at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeUpdate(GeneralStatement.java:91)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.insert(SqlMapExecutorDelegate.java:447)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.insert(SqlMapSessionImpl.java:82)
at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.insert(SqlMapClientImpl.java:59)
at com.dj.ibatis.dao.IStudentDAOImpl.addStudent(IStudentDAOImpl.java:29)
at com.dj.ibatis.dao.IStudentDAOImpl.main(IStudentDAOImpl.java:94)
Caused by: java.sql.SQLException: ORA-00911: invalid character
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
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:743)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:213)
at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:952)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1160)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3285)
at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3390)
at com.ibatis.sqlmap.engine.execution.SqlExecutor.executeUpdate(SqlExecutor.java:81)
at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.sqlExecuteUpdate(GeneralStatement.java:200)
at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeUpdate(GeneralStatement.java:78)
... 5 more 展开
--- The error occurred in com/dj/ibatis/pojo/Student.xml.
--- The error occurred while applying a parameter map.
--- Check the addStudent-InlineParameterMap.
--- Check the statement (update failed).
--- Cause: java.sql.SQLException: ORA-00911: invalid character
at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeUpdate(GeneralStatement.java:91)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.insert(SqlMapExecutorDelegate.java:447)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.insert(SqlMapSessionImpl.java:82)
at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.insert(SqlMapClientImpl.java:59)
at com.dj.ibatis.dao.IStudentDAOImpl.addStudent(IStudentDAOImpl.java:29)
at com.dj.ibatis.dao.IStudentDAOImpl.main(IStudentDAOImpl.java:94)
Caused by: java.sql.SQLException: ORA-00911: invalid character
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
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:743)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:213)
at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:952)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1160)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3285)
at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3390)
at com.ibatis.sqlmap.engine.execution.SqlExecutor.executeUpdate(SqlExecutor.java:81)
at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.sqlExecuteUpdate(GeneralStatement.java:200)
at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeUpdate(GeneralStatement.java:78)
... 5 more 展开
4个回答
展开全部
今天程序在本地都正常运行,可发布到服务器上时报一个ORA-00911 无效字符的错误
这个错误是由于sql语句有问题,检查sql的时候没有看出什么问题,结果拿到库里面去执行时发现插入语句当中本来是用英文逗号分割的,而我的用的是中文的。
解决方法就不用说了,大家都明白
请记得以后报这种ORA-xxx错误时不要太相信自己写的没问题,一定要将语句拿到库里去执行检查
上次同事也报这样一个错误,把语句拿到库里执行也没报错,后来发现在库里查询时,查询语句结尾带了一个分号,库里面是支持这个分号的,但到IBATIS里面是不支持这个分号的,所以这点大家也应该注意下。
这个错误是由于sql语句有问题,检查sql的时候没有看出什么问题,结果拿到库里面去执行时发现插入语句当中本来是用英文逗号分割的,而我的用的是中文的。
解决方法就不用说了,大家都明白
请记得以后报这种ORA-xxx错误时不要太相信自己写的没问题,一定要将语句拿到库里去执行检查
上次同事也报这样一个错误,把语句拿到库里执行也没报错,后来发现在库里查询时,查询语句结尾带了一个分号,库里面是支持这个分号的,但到IBATIS里面是不支持这个分号的,所以这点大家也应该注意下。
展开全部
仔细看一下你写的插入语句,提示的错误是addStudent中存在无效的字符。你把语句拿到数据库中执行以下,看看有没有问题,如果没有问题,那就是你传入的参数有问题了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
invalid character
看INSERT语句咋写的,比如字符是否用了单引号、日期是否转换正确了、等原因
看INSERT语句咋写的,比如字符是否用了单引号、日期是否转换正确了、等原因
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把sutdent.xml贴出了看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询