Обмеження 8000 символів на OPENQUERY проти підключеного сервера


10

У мене є запит, який я намагаюся запустити OPENQUERYна SSRS / SQL Server 2014, але я постійно отримую помилку:

Рядок символів, який починається з [...], занадто довгий. Максимальна довжина - 8000.

Чи є спосіб подолати це обмеження?

Для довідки я намагаюся запустити запит із SSRS через пов'язаний MySQL Server.

Відповіді:


12

Ви можете обійти межу 8000 символів OPENQUERY, використовуючи EXECUTE ATнаступне:

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

EXECUTE (@myStatement) AT LinkedServerName

Для того, щоб переконатися, що це не призводить до помилок, потрібно включити RPC OUTпараметр на зв'язаному сервері, видавши таку команду:

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

Або ввімкнути це в GUI:

введіть тут опис зображення

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.