OPENQUERY mit maximal 8000 Zeichen für einen Verbindungsserver

10

Ich habe eine Abfrage, die ich unter OPENQUERYSSRS / SQL Server 2014 ausführen möchte, erhalte jedoch immer wieder die Fehlermeldung:

Die Zeichenfolge, die mit [...] beginnt, ist zu lang. Die maximale Länge beträgt 8000.

Gibt es eine Möglichkeit, diese Einschränkung zu umgehen?

Als Referenz versuche ich, eine Abfrage von SSRS über einen verknüpften MySQL Server auszuführen.

Salmononius2
quelle
Lassen Sie uns diese Diskussion im Chat fortsetzen .
John Eisbrener

Antworten:

12

Sie können die 8000 Zeichenbegrenzung von Bypass OPENQUERYdurch die Nutzung EXECUTE AT, wie folgt:

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

EXECUTE (@myStatement) AT LinkedServerName

Um sicherzustellen, dass dies keinen Fehler auslöst, müssen Sie die RPC OUTOption auf dem Verbindungsserver aktivieren , indem Sie den folgenden Befehl eingeben:

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

Oder aktivieren Sie es in der GUI:

Geben Sie hier die Bildbeschreibung ein

John Eisbrener
quelle