sql >> Databáze >  >> Database Tools >> SSMS

SSMS a sp_OAMethod:existuje datový typ větší než VARCHAR(8000)?

Tleskám si pro sebe.

Uznávám, je to řešení z noční můry, ale dá se to udělat. Řešením bylo nastavit:

Declare @Response as table(Json_Table nvarchar(max))

Tímto způsobem jsem vytvořil tabulku s datovým typem, který má nvarchar(max) a teď ano, pojme 65 535 znaků a do 2 GB dat.

Declare @Object as Int;
DECLARE @hr  int
Declare @Response as table(Json_Table nvarchar(max))

Exec @hr=sp_OACreate 'MSXML2.ServerXMLHTTP.6.0', @Object OUT;
Exec @hr=sp_OAMethod @Object, 'open', NULL, 'get',
                 'http://overpass-api.de/api/interpreter?data=[out:json];area[name="Auckland"]->.a;(node(area.a)[amenity=cinema];way(area.a)[amenity=cinema];rel(area.a)[amenity=cinema];);out;', --Your Web Service Url (invoked)
                 'false'
Exec @hr=sp_OAMethod @Object, 'send'
Exec @hr=sp_OAMethod @Object, 'responseText', @Response OUTPUT

INSERT into @Response (Json_Table) exec sp_OAGetProperty @Object, 'responseText'

select * from @Response

EXEC sp_OADestroy @Object

Pokud najdete lepší řešení, pošlete nám to, velmi to oceníme.



  1. Chyba phpmyadmin 2002 pro vzdálený server

  2. phpMyAdmin:URI je příliš velké

  3. mysqli_real_connect():(HY000/2002):Žádný takový soubor nebo adresář

  4. Seznámení s databázemi v PhpMyAdmin