user3675867
user3675867

Reputation: 29

The incoming request has too many parameters. The server supports a maximum of 2100 parameters-sql2008/2012

I am getting the error like

System.Data.SqlClient.SqlException: The incoming request has too many parameters. The server supports a maximum of 2100 parameters. Reduce the number of parameters and resend the request.
at BitSpark.Data.Databases.Database.ExecuteGetDataReader(DbCommand dbCommand, CommandBehavior behavior)
at BitSpark.Data.Databases.Database.ExecuteGetDataReader(DbCommand dbCommand)
at BitSpark.Data.DataPortal.DatabaseDataPortal.OnReadList(String metadataAssemblyName, String tableName, QueryBase q)
at BitSpark.Data.DataPortal.DataPortalBase.ReadList(String metadataAssemblyName, String tableName, QueryBase q)

I am doing select operation from database using bitspark Tool.

Is there any way we can increase this size limit?

Upvotes: 0

Views: 13079

Answers (2)

Ben Thul
Ben Thul

Reputation: 32707

My advice would be to use a table-valued parameter. Here's an example in ad hoc T-SQL:

--Create the type only once in your database
create type myTableType as table (a int)

--This happens every time
declare @a myTableType;

insert into @a (a) values (1), (2), (3);

select * from someTable
where id in (select a from @a)

Once you've created a table type in your database, you can have parameters of that type (in my example myTableType) passed to your stored procedure. Keep in mind that they behave for all intents and purposes like a table variable.

Upvotes: 3

Patrick Hofman
Patrick Hofman

Reputation: 156998

No. This is a database limitation (SQL Server specific), not a limitation of BitSpark.

You can workaround this by querying a subset, so first a group of 2100, then the next 2100, etc.

Upvotes: 1

Related Questions