Ограничение в 8000 символов на OPENQUERY для связанного сервера


10

У меня есть запрос, который я пытаюсь выполнить OPENQUERYна SSRS / SQL Server 2014, но получаю сообщение об ошибке:

Строка символов, которая начинается с [...], слишком длинная. Максимальная длина 8000.

Есть ли способ обойти это ограничение?

Для справки я пытаюсь выполнить запрос из SSRS через связанный MySQL Server.


Ответы:


12

Вы можете обойти ограничение в 8000 символов OPENQUERY, используя EXECUTE ATследующее:

DECLARE @myStatement VARCHAR(MAX)
SET @myStatement = 'SELECT * FROM TABLE WHERE CHARACTERS.... ' -- Imagine that's longer than 8000 characters

EXECUTE (@myStatement) AT LinkedServerName

Чтобы убедиться, что это не RPC OUTвыдает ошибку, вам нужно включить опцию на связанном сервере, выполнив следующую команду:

EXEC master.dbo.sp_serveroption @server=N'LinkedServerName', @optname=N'rpc out', @optvalue=N'true'

Или включив его в GUI:

введите описание изображения здесь

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.