Límite de 8000 caracteres en OPENQUERY en un servidor vinculado

10

Tengo una consulta que intento ejecutar OPENQUERYen SSRS / SQL Server 2014, pero sigo recibiendo un error de:

La cadena de caracteres que comienza con [...] es demasiado larga. La longitud máxima es de 8000.

¿Hay alguna forma de evitar esta limitación?

Como referencia, estoy tratando de ejecutar una consulta desde SSRS a través de un servidor MySQL vinculado.

Salmonon2
fuente
Continuemos esta discusión en el chat .
John Eisbrener

Respuestas:

12

Puede omitir el límite de 8000 caracteres OPENQUERYutilizando EXECUTE AT, de la siguiente manera:

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

EXECUTE (@myStatement) AT LinkedServerName

Para asegurarse de que esto no arroje un error, debe habilitar la RPC OUTopción en el servidor vinculado, emitiendo el siguiente comando:

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

O habilitarlo dentro de la GUI:

ingrese la descripción de la imagen aquí

John Eisbrener
fuente