Limite di 8000 caratteri su OPENQUERY su un server collegato


10

Ho una query che sto cercando di eseguire OPENQUERYsu SSRS / SQL Server 2014, ma continuo a ricevere un errore di:

La stringa di caratteri che inizia con [...] è troppo lunga. La lunghezza massima è 8000.

C'è un modo per aggirare questa limitazione?

Per riferimento, sto cercando di eseguire una query da SSRS attraverso un server MySQL collegato.


Risposte:


12

È possibile ignorare il limite di 8000 caratteri di OPENQUERYutilizzando EXECUTE AT, come segue:

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

EXECUTE (@myStatement) AT LinkedServerName

Per assicurarsi che ciò non generi un errore, è necessario abilitare l' RPC OUTopzione sul server collegato, eseguendo il comando seguente:

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

O abilitandolo all'interno della GUI:

inserisci qui la descrizione dell'immagine

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.