Причиной этой ошибки является ограничение количества параметров который можно передать в SQL команду. Обычно данная ситуция возникает когда нужно вычитать список сущностей по идентификатору.
SELECT * FROM table WHERE Id = idValue1 OR Id = idValue2 OR Id = idValue3 ...OR Id = idValue3000
или
SELECT * FROM table WHERE Id IN (idValue1,idValue2,idValue3...idValue3000)
Возникает эта ситуация конечно не часто, но и она имеет место быть. Заявления вроде "Да как вы вообще допустили появления таких запрсов в системе!" - не принимаются. Различные системы, различные архитектурные ограничения... И вот, пожалуйста, все упирается в необходимость вычитать из базы 3000 сущностей по дентификатору...
Задача.
Имеется исходная коллекция идентификатов сущностей А. Коллекция может содежать больше 2100 элементов ( а може и меньше, но это не важно. Как и не важно то, как и откуда эта коллекция взялась. Она есть.). Необходимо вычитать из базы все сущности А, айдишники которых присутствуют в коллекции идентификаторов . Порядок вычитанных сущностей должен совпадать с порядком следования элементов в исходной коллекции идентификаторов.
Решение.
Продолжение следует...
SELECT * FROM table WHERE Id = idValue1 OR Id = idValue2 OR Id = idValue3 ...OR Id = idValue3000
или
SELECT * FROM table WHERE Id IN (idValue1,idValue2,idValue3...idValue3000)
Возникает эта ситуация конечно не часто, но и она имеет место быть. Заявления вроде "Да как вы вообще допустили появления таких запрсов в системе!" - не принимаются. Различные системы, различные архитектурные ограничения... И вот, пожалуйста, все упирается в необходимость вычитать из базы 3000 сущностей по дентификатору...
Задача.
Имеется исходная коллекция идентификатов сущностей А. Коллекция может содежать больше 2100 элементов ( а може и меньше, но это не важно. Как и не важно то, как и откуда эта коллекция взялась. Она есть.). Необходимо вычитать из базы все сущности А, айдишники которых присутствуют в коллекции идентификаторов . Порядок вычитанных сущностей должен совпадать с порядком следования элементов в исходной коллекции идентификаторов.
Решение.
Продолжение следует...