По какой-то причине при попытке передать список из 10000 идентификаторов SQL Server с веб-сервера C# в качестве табличного параметра, Только часть идентификаторов (~ 7000) в конечном итоге отправлена на сервер (подтвержден с помощью трассировки). < /p>
- это известная проблема или есть конфигурации, которые я могу установить, чтобы убедиться, что все Значения передаются? < /p>
Я создал следующий тип в SQL Server: < /p>
Код: Выделить всё
CREATE TYPE [dbo].[IntList] AS TABLE([ID] [int] NULL)
< /code>
Тогда у меня есть хранящаяся процедура, которая принимает тип как параметр: < /p>
CREATE PROCEDURE [dbo].[spStackOverflowQuestionExample]
@Ids dbo.IntList READONLY,
< /code>
C# код сервера: параметр создается следующим образом: < /p>
var dt = new DataTable();
dt.Columns.Add("Id", typeof(int));
foreach (var id in ids)
{
dt.Rows.Add(id);
}
parameters.Add(new SqlParameter { ParameterName = "@Ids", Value = dt, SqlDbType = SqlDbType.Structured });
Я прочитал онлайн, что людям удалось пройти Большая таблица оценки параметров для хранимых процедур:
https://www.dbdelta.com/sql-server-tvp- ... as/образно Есть ли другие способы сделать это? /п>
Подробнее здесь: https://stackoverflow.com/questions/793 ... tored-proc
Мобильная версия