当前使用版本(必填,否则不予处理)
3.0.3
该问题是如何引起的?(确定最新版也有问题再提!!!)
public interface IPsControlo3noticeSmsPhoneDetailService extends IService
} iPsControlo3noticeSmsPhoneDetailService.saveBatch(psControlo3noticeSmsPhoneDetails); psControlo3noticeSmsPhoneDetails是一个数组,批量新增操作。
重现步骤(如果有就写完整)
写一个service 继承IService 在使用saveBatch方法批量新增时出现 “必须执行该语句才能获得结果” 错误
报错信息
Caused by: org.apache.ibatis.executor.ExecutorException: Error getting generated key or setting result to parameter object. Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 必须执行该语句才能获得结果。 at org.apache.ibatis.executor.keygen.Jdbc3KeyGenerator.processBatch(Jdbc3KeyGenerator.java:83) at org.apache.ibatis.executor.BatchExecutor.doFlushStatements(BatchExecutor.java:128) at org.apache.ibatis.executor.BaseExecutor.flushStatements(BaseExecutor.java:129) at org.apache.ibatis.executor.BaseExecutor.flushStatements(BaseExecutor.java:122) at org.apache.ibatis.session.defaults.DefaultSqlSession.flushStatements(DefaultSqlSession.java:253) ... 82 common frames omitted Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: 必须执行该语句才能获得结果。 at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190) at com.microsoft.sqlserver.jdbc.SQLServerStatement.getGeneratedKeys(SQLServerStatement.java:2040) at com.alibaba.druid.filter.FilterChainImpl.statement_getGeneratedKeys(FilterChainImpl.java:3091) at com.alibaba.druid.filter.FilterAdapter.statement_getGeneratedKeys(FilterAdapter.java:2546) at com.alibaba.druid.filter.FilterEventAdapter.statement_getGeneratedKeys(FilterEventAdapter.java:415) at com.alibaba.druid.filter.FilterChainImpl.statement_getGeneratedKeys(FilterChainImpl.java:3088) at com.alibaba.druid.proxy.jdbc.StatementProxyImpl.getGeneratedKeys(StatementProxyImpl.java:309) at com.alibaba.druid.pool.DruidPooledStatement.getGeneratedKeys(DruidPooledStatement.java:821) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:78) at com.sun.proxy.$Proxy175.getGeneratedKeys(Unknown Source) at org.apache.ibatis.executor.keygen.Jdbc3KeyGenerator.processBatch(Jdbc3KeyGenerator.java:63) ... 86 common frames omitted
Comment From: github-ysh
换成3.4.0依旧有这个问题
Comment From: miemieYaho
ms驱动不支持
Comment From: github-ysh
能给个解决方案吗
Comment From: miemieYaho
用ms最新的jdbc-driver,不行你就去找他们
Comment From: J-Orange
目前有什么好的解决方案吗