Giới hạn 8000 ký tự trên OPENQUERY đối với máy chủ được liên kết


10

Tôi có một truy vấn mà tôi đang cố gắng chạy OPENQUERYtrên SSRS / SQL Server 2014, nhưng tôi liên tục gặp lỗi:

Chuỗi ký tự bắt đầu bằng [...] quá dài. Độ dài tối đa là 8000.

Có cách nào để khắc phục hạn chế này không?

Để tham khảo, tôi đang cố chạy một truy vấn từ SSRS thông qua Máy chủ MySQL được liên kết.


Câu trả lời:


12

Bạn có thể bỏ qua giới hạn 8000 ký tự OPENQUERYbằng cách sử dụng EXECUTE AT, như sau:

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

EXECUTE (@myStatement) AT LinkedServerName

Để đảm bảo điều này không gây ra lỗi, bạn cần kích hoạt RPC OUTtùy chọn trên máy chủ được liên kết, bằng cách ban hành lệnh sau:

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

Hoặc kích hoạt nó trong GUI:

nhập mô tả hình ảnh ở đây

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.