Batas 8000 karakter pada OPENQUERY terhadap server yang ditautkan


10

Saya punya pertanyaan yang saya coba jalankan OPENQUERYdi SSRS / SQL Server 2014, tapi saya terus mendapatkan kesalahan:

String karakter yang dimulai dengan [...] terlalu panjang. Panjang maksimum adalah 8000.

Apakah ada cara untuk mengatasi keterbatasan ini?

Untuk referensi, saya mencoba menjalankan kueri dari SSRS melalui Server MySQL yang ditautkan.


Jawaban:


12

Anda dapat melewati batas 8000 karakter OPENQUERYdengan memanfaatkan EXECUTE AT, sebagai berikut:

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

EXECUTE (@myStatement) AT LinkedServerName

Untuk memastikan ini tidak menimbulkan kesalahan, Anda harus mengaktifkan RPC OUTopsi di server yang ditautkan, dengan mengeluarkan perintah berikut:

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

Atau mengaktifkannya dalam GUI:

masukkan deskripsi gambar di sini

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.