sql >> Database >  >> RDS >> Sqlserver

Hoe sp_OACreate limieten vermijden?

ondanks het onderwerp van je bericht denk ik dat het probleem waarschijnlijk bij sp_OAMethod ligt en niet bij sp_OACreate zelf.

ook IMHO toegang tot het web vanuit sql-code moet ten koste van alles worden vermeden, maar dit is slechts mijn mening omdat ik het idee niet leuk vind om een ​​RDBMS te hebben die 'op het web surft'. ^^

om de beperking van sp_OAMethod te omzeilen, kunt u proberen een antwoord uit te werken dat aanwezig is op msdn .

je code zou er ongeveer zo uit moeten zien:

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

de oplossing vereist een tijdelijke tabel met de juiste structuur en gegevenstype om de waarde op te slaan die wordt geproduceerd door de externe pagina en dit zou u in staat moeten stellen meer dan 4k aan gegevens te krijgen.



  1. Welk structuurtype gebruik ik voor HTML-inhoud (MySQL)

  2. Dag van de week ophalen in SQL Server 2005/2008

  3. hoe de volledige resultatenset van SSMS te krijgen

  4. postgresql en codeigniter verbinden