Пляскам си с ръце.
Признавам, това е кошмарно решение, но с него нещата се свършват. Решението беше да зададете:
Declare @Response as table(Json_Table nvarchar(max))
По този начин създадох таблица с тип данни, който има nvarchar(max)
и сега да, може да съдържа 65 535 знака и до 2GB на данни.
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
Моля, публикувайте, ако намерите по-добро решение, ще бъдете много благодарни.