欢迎光临
我们一直在努力

Exception: Too many parameters were provided in this RPC request. The maximum

Exception: Too many parameters were provided in this RPC request. The maximum is 2100.

 

[Microsoft][SQL Native Client][SQL Server]The incoming tabular data stream (TDS) remote procedure call (RPC) protocol stream is incorrect. Too many parameters were provided in this RPC request. The maximum is 2100.

SQL语句的报错

如果是SELECT查询OR条件语句形如:SELECT * FROM tablename WHERE x1 OR x2 OR x3 OR x4 OR … OR x2101,OR条件个数超过2100就会报错,可以改为UNION ALL。

如果是SELECT查询IN条件语句形如: SELECT * FROM tablename WHERE columnname IN (1,2,3,4,5, …….. , 2101 ),IN参数个数超过2100,会报上面的错误。可以创建临时表,将这些数据写入临时表,再关联。

--Create new table   
Create Table temp (myvalues uniqueidentifier)

-- Join new table with your table   
SELECT t1.*    
FROM tablename t1    
JOIN temp t2 
ON t1.myvalues = t2.myvalues

存储过程和函数的报错

对于存储过程和函数,参数最大个数为2100

参见如下限制:

https://docs.microsoft.com/en-us/sql/sql-server/maximum-capacity-specifications-for-sql-server

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。