Limite de 8000 caracteres no OPENQUERY em um servidor vinculado

10

Eu tenho uma consulta que estou tentando executar OPENQUERYno SSRS / SQL Server 2014, mas continuo recebendo um erro de:

A cadeia de caracteres que começa com [...] é muito longa. O comprimento máximo é 8000.

Existe alguma maneira de contornar essa limitação?

Para referência, estou tentando executar uma consulta do SSRS através de um servidor MySQL vinculado.

Salmononius2
fonte
Vamos continuar esta discussão no chat .
John Eisbrener

Respostas:

12

Você pode ignorar o limite de 8000 caracteres OPENQUERYutilizando EXECUTE AT, da seguinte maneira:

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

EXECUTE (@myStatement) AT LinkedServerName

Para garantir que isso não aconteça, é necessário ativar a RPC OUTopção no servidor vinculado, emitindo o seguinte comando:

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

Ou ativando-o na GUI:

insira a descrição da imagem aqui

John Eisbrener
fonte