it-swarm.com.de

OPENQUERY mit maximal 8000 Zeichen für einen Verbindungsserver

Ich habe eine Abfrage, die ich unter SSRS/SQL Server 2014 über OPENQUERY 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.

10
Salmononius2

Sie können das 8000-Zeichen-Limit von OPENQUERY umgehen, indem Sie 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 RPC OUT Option auf dem Verbindungsserver, indem der folgende Befehl ausgegeben wird:

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

Oder aktivieren Sie es in der GUI:

(enter image description here

12
John Eisbrener