SQLServerException: 不能对 nvarchar 调用方法

本文解决了一个在使用MyBatis框架时遇到的问题,即在SQL Server数据库中执行SQL语句时出现的“不能对nvarchar调用方法”的异常。通过调整SQL语句中的字段引用方式,成功解决了该问题。

org.apache.ibatis.exceptions.PersistenceException: 
### Error querying database.  Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 不能对 nvarchar 调用方法。
### The error may exist in zzu/qg/mybatis/mapper/UserMapper.xml
### The error may involve zzu.qg.mybatis.mapper.UserMapper.findUserByInfo-Inline
### The error occurred while setting parameters
### SQL: select * from [user]    WHERE  user.sex = ?
### Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 不能对 nvarchar 调用方法。
    at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:23)
    at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:107)
    .....
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: 不能对 nvarchar 调用方法。
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:216)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1515)
    at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:404)
    ......
    报的sql语句出错,

我就进到数据库里面 ### SQL: select * from [user]    WHERE  user.sex = ? 测试sql语句

需要将 user.sex改为[user].sex

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值