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.


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í

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.