mặc dù chủ đề của bài đăng của bạn, tôi nghĩ rằng sự cố có thể xảy ra với sp_OAMethod chứ không phải sp_OACreate.
IMHO cũng nên tránh truy cập web từ mã sql bằng mọi giá nhưng đây chỉ là ý kiến của tôi vì tôi không thích ý tưởng có một RDBMS 'lướt web'. ^^
để vượt qua giới hạn của sp_OAMethod, bạn có thể cố gắng giải thích một câu trả lời có trên msdn .
mã của bạn sẽ trở thành một cái gì đó như thế này:
Declare @Object as Int;
Declare @ResponseText as Varchar(8000);
Declare @Url as Varchar(MAX);
set @Url = 'http://mysite.ru/cgi-bin/my_xml.cgi'
Exec sp_OACreate 'MSXML2.XMLHTTP', @Object OUT;
Exec sp_OAMethod @Object, 'open', NULL, 'get', @Url, 'false'
Exec sp_OAMethod @Object, 'send'
--Exec sp_OAMethod @Object, 'responseText', @ResponseText OUTPUT
INSERT #temptable ( appropriatefield )
EXEC @Result = sp_OAGetProperty @Obj, 'YourPropertyName'
Exec sp_OADestroy @Object
giải pháp yêu cầu một bảng tạm thời có cấu trúc và kiểu dữ liệu thích hợp để lưu trữ giá trị do trang từ xa tạo ra và điều này sẽ cho phép bạn nhận được hơn 4 nghìn dữ liệu.