我收到的错误如
System.Data.SqlClient.SqlException:传入的请求包含太多参数。服务器最多支持2100个参数。减少参数数量并重新发送请求 在BitSpark.Data.Databases.Database.ExecuteGetDataReader(DbCommand dbCommand,CommandBehavior行为)
在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)
我正在使用bitspark工具从数据库中执行select操作。
我们有什么方法可以增加这个尺寸限制吗?
答案 0 :(得分:2)
我的建议是使用表值参数。这是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)
在数据库中创建表类型后,可以将该类型的参数(在我的示例中为myTableType
)传递给存储过程。请记住,它们的行为与表变量一样。
答案 1 :(得分:1)
没有。这是数据库限制(特定于SQL Server),而不是BitSpark的限制。
您可以通过查询子集来解决此问题,首先是一组2100,然后是下一个2100,等等。