SSMS
 sql >> Baza danych >  >> Database Tools >> SSMS

SSMS i sp_OAMethod:czy istnieje typ danych większy niż VARCHAR(8000)?

Klaskam w dłonie.

Przyznaję, to koszmarne rozwiązanie, ale pozwala załatwić sprawy. Rozwiązaniem było ustawienie:

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

W ten sposób stworzyłem tabelę z typem danych, który ma nvarchar(max) a teraz tak, może pomieścić 65 535 znaków i do 2 GB danych.

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

Opublikuj, jeśli znajdziesz lepsze rozwiązanie, będzie to bardzo mile widziane.



  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Jak uruchomić SQL Server Management Studio w systemie Windows 7?

  2. Domyślna lokalizacja zapisu plików Management Studio

  3. Powielanie TABELI za pomocą Microsoft SQL Server Management

  4. Przyzwoity prosty klient SQL Server

  5. Ręczna zmiana nazw kart w SSMS