Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Làm cách nào để tránh giới hạn sp_OACreate?

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Vấn đề truy vấn SQL

  2. PHP sqlsrv_connect tới SQL Server:Đã xảy ra lỗi liên quan đến mạng hoặc trường hợp cụ thể khi thiết lập kết nối với SQL Server

  3. Làm cách nào để tắt các Ràng buộc cho tất cả các bảng và kích hoạt nó?

  4. Đăng ký báo cáo SSRS đã kết thúc do lỗi

  5. Tên cột và / hoặc tên bảng dưới dạng tham số