Подключиться к веб-сервису из SQL
SQL Server может открывать таблицы Excel (xlsx), базы данных доступа (mdb) и другие потоки данных с использованием поставщиков данных (например, JET, ACE) и OPENROWSET.
Существуют ли аналогичные средства для извлечения данных из удаленного веб-сервиса? Использование OPENROWSET и предоставление ему драйвера веб-службы и URL-адреса и некоторого определения схемы для преобразования иерархической природы выходных данных XML веб-службы в таблицу, к которой может обращаться SQL Server.
Я думаю о чем-то вроде:
select * from
OPENROWSET('WEBSERVICE.4.0.PROVIDER','http://mydomain/webservice.asmx')
Это вопрос высокого уровня, хотя я знаю, что это концептуально возможно, я хотел бы знать, есть ли какие-либо реализации этой идеи.
Спасибо
1 ответ
Вы можете использовать сборку SQL-CLR (в версиях 2005 или новее) для обработки вызова хранимой процедуры и для вставки данных в таблицу базы данных SQL Server.
Посмотрите некоторые из этих руководств (еще больше, если вы используете Google или Bing):
- Вызов хранимой процедуры CLR внешней веб-службы - учебные пособия по SQL Server 2005
- Использование веб-службы из сборки CLR SQL Server 2005
- Запрос веб-службы с SQLCLR
- Вызов веб-службы из хранимой процедуры SQLCLR
- Вызов веб-службы из SQL Server
- Как использовать веб-сервис из SQL Server с помощью SQL CLR