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.


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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.