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

10

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

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

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

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

Salmononius2
источник
Давайте продолжим эту дискуссию в чате .
Джон Айсбренер

Ответы:

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:

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

Джон Айсбренер
источник