当前位置: 代码迷 >> 综合 >> SQLServerException: 传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。此 RPC 请求中提供了过多的参数。最多应为 2100
  详细解决方案

SQLServerException: 传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。此 RPC 请求中提供了过多的参数。最多应为 2100

热度:110   发布时间:2023-11-20 02:15:25.0

报错环境springboot+mybatis,mybatis批量插入
找到的原因是传输的sql语句过长
报错语句如下:

org.springframework.jdbc.UncategorizedSQLException: 
### Error updating database.  Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。此 RPC 请求中提供了过多的参数。最多应为 2100。
### The error may involve com.xinshai.dao.ResultPushMsgDao.insertBatchHistory-Inline
### The error occurred while setting parameters
### SQL: INSERT INTO pushHistory (id,openId,patientId,tid,first,keyword1,keyword2,keyword3,keyword4, keyword5,remark,createTime,flag,type,success)       select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all        select ?,?,?,?,?,?,?,   ?,?,?,?,getDate(),?,?,?    union all   ()      
### Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。此 RPC 请求中提供了过多的参数。最多应为 2100。
; uncategorized SQLException; SQL state [S0001]; error code [8003]; 传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。此 RPC 请求中提供了过多的参数。最多应为 2100。; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: 传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。此 RPC 请求中提供了过多的参数。最多应为 2100。at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:89) ~[spring-jdbc-5.0.5.RELEASE.jar:5.0.5.RELEASE]at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81) ~[spring-jdbc-5.0.5.RELEASE.jar:5.0.5.RELEASE]at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81) ~[spring-jdbc-5.0.5.RELEASE.jar:5.0.5.RELEASE]at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:73) ~[mybatis-spring-1.3.1.jar:1.3.1]

解决方法请查看:
http://yayihouse.com/yayishuwu/chapter/2134

  相关解决方案