URL в SQL 2016 для возврата XML - PullRequest
0 голосов
/ 26 октября 2018

У меня есть sql, возвращающий информацию и создающий URL.

SELECT Address,Address2,'https://maps.googleapis.com/maps/api/distancematrix/xml?units=imperial&origins='+Address+'&destinations='+Address2+'&key=xxx' URL

FROM table

И если я возьму созданный выше URL-адрес и скопирую его в браузер, на экране появится нужный XML.Но как я могу иметь XML в SQL, чтобы я мог анализировать только определенные данные, такие как время в пути?

Так что теперь у меня есть следующий код, который предоставляет мне время:

DECLARE @Address0 varchar(100) =null
DECLARE @Address1 varchar(100)=null

SET @Address0 = 'xxx'
SET @Address1 = 'yyy'

Declare @Object as Int;
Declare @ResponseText as Varchar(8000);
Declare @serviceUrl as varchar(500)
  set @serviceUrl = 'https://maps.googleapis.com/maps/api/distancematrix/xml?units=imperial&origins=' +@Address0+
   '&destinations=' +@Address1 +'&key=keyfromgoogle'
Exec sp_OACreate 'MSXML2.XMLHTTP', @Object OUT;
Exec sp_OAMethod @Object, 'open', NULL, 'get',
                @serviceUrl, --Your Web Service Url (invoked)
                 'false'
Exec sp_OAMethod @Object, 'send'
Exec sp_OAMethod @Object, 'responseText', @ResponseText OUTPUT

Declare @Response as XML

SET @Response = CAST(@ResponseText AS XML);
   Declare @Time as varchar(20)
   Begin
      set @Time=@Response.value('(DistanceMatrixResponse/row/element/duration/text)[1]', 'varchar(20)') 
   End
  select 
  @Time as Time

Итак, я думаю, что я создаю временную таблицу для хранения моих адресов, а затем курсор для просмотра и добавления времени к каждой строке временной таблицы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...