Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak uniknąć limitów sp_OACreate?

pomimo tematu twojego posta, myślę, że problem jest prawdopodobnie związany z sp_OAMethod, a nie z samym sp_OACreate.

również IMHO dostępu do sieci z kodu sql należy unikać za wszelką cenę, ale to tylko moja opinia, ponieważ nie podoba mi się pomysł posiadania RDBMS „surfowania po sieci”. ^^

aby obejść ograniczenia sp_OAMethod, możesz spróbować opracować odpowiedź obecną na msdn .

Twój kod powinien wyglądać mniej więcej tak:

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

rozwiązanie wymaga tabeli tymczasowej o odpowiedniej strukturze i typie danych do przechowywania wartości wytwarzanej przez stronę zdalną, co powinno pozwolić na uzyskanie ponad 4k danych.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. sql server 2008 tabela wartości parametrów linq2sql

  2. Zadanie SQL Agent - Lista rozwijana Uruchom jako jest pusta

  3. Zaawansowane wyszukiwanie z odległościami przy użyciu NHibernate i SQL Server Geography

  4. Prześlij plik CSV do witryny SharePoint za pomocą SSIS

  5. Zbiorcze wstawienie pliku CSV do SQL Server z niespójnymi cudzysłowami