Я пишу некоторый динамический SQL:
DECLARE @sql NVARCHAR(MAX)
SET @sql = '...'
EXEC sp_executesql @sql
Если я выполню это из SSMS, запрос будет выполнен успешно, потому что он содержит менее 8000 (точнее 7787) символов.Если я выполню это из служб SSIS (используя соединение ADO.NET), запрос не будет выполнен, потому что NVARCHAR(MAX)
является эквивалентом NVARCHAR(4000)
.
Я понимаю, что это как-то связано с совместимостью - необходимо подключение из служб SSIS.поддерживать больше, чем просто SQL Server.
Какие есть варианты обходного пути?