RPC 请求中提供了过多的参数。最多应为 2100

工作中碰到如下报错:

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

 

 

原因:

经查证, 微软官方文档, 最大容量规范:

https://docs.microsoft.com/zh-cn/sql/sql-server/maximum-capacity-specifications-for-sql-server?view=sql-server-2017

 

列表中的 每个用户定义函数的参数个数: 2100

 

 

扩展:

oracle

最大限制为:65536; (number of formal parameters in an explicit cursor, function, or procedure)

https://docs.oracle.com/cd/E11882_01/appdev.112/e25519/limits.htm#LNPLS018

 

mysql

最大限制为: 65536(max_allowed_packet)

The number of values in the IN list is only limited by the max_allowed_packet value.

https://dev.mysql.com/doc/refman/8.0/en/comparison-operators.html#function_in

 

https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_allowed_packet

 

posted @ 2018-07-25 12:44  OrchidCat  阅读(640)  评论(0编辑  收藏  举报