Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   *SQL* | Как получить данные HTTP->SQL (http://forum.oszone.net/showthread.php?t=150122)

pva 09-09-2009 18:08 1215001

*SQL* | Как получить данные HTTP->SQL
 
Здравствуйте всем! Подскажите, пожалуйста. Есть SQL-сервер MS SQL 2005, и CGI-скрипт на удалённом сервере в интернете, который получает параметр и возвращает результат в XML. Как можно сделать так, чтобы получить этот результат хранимой процедурой на сервере SQL?

Delirium 10-09-2009 00:49 1215232

Не совсем понял суть вопроса. pva, у тебя всегда такие вопросы заковыристые :)
Что значит "хранимой процедурой"? Процедура же выполняет какие то действия.... Опиши подробней, с примерами :)

pva 10-09-2009 07:19 1215312

Пример: пусть есть какой-то информер в интернете, например http://informer.gismeteo.ru/get_data?value=100 (на самом деле у меня другой, это для конспирации). При запросе он возвращает какие-то данные в виде XML, известной структуры. Есть клиентская часть программы, которая крутится на компьютере, без интернета (но с доступом к серверу SQL). Глобальная задача: при выполнении одной из хранимых процедур (stored procedure) на сервере SQL, инициированных клиентом, выполнить запрос к вэб-верверу и использовать в этой процедуре возвращёные данные.
Цитата:

Цитата Delirium
Процедура же выполняет какие то действия.... »

Содержимое процедуры - на моё усмотрение, главное чтобы строчку взвращала (полученную по http)
Код:

// пример получения данных по http, но на js, а надо на SQL
function retrieve_http_result(arg)
{
    var xml_req = WScript.CreateObject("Msxml2.XMLHTTP");
    xml_req.Open("GET", "http://informer.gismeteo.ru/get_data?value=" + arg, false);
    xml_req.Send();
    return xml_req.ResponseXML;
}

функция master..xp_cmdshell на сервере SQL отключена, а так бы сделал
Код:

declare @result_strs table(line varchar(255));
insert into @result_strs master..xp_cmdshell("cscript c:\path\retrieve_http_result.js " + arg_str);
-- обработка @result_strs

----
Перефразирую так (может понятней получится): как из SQL-сервера пользоваться SOAP-сервером (или ему подобным)

Delirium 10-09-2009 09:04 1215371

http://blogs.msdn.com/alexejs/archiv...-services.aspx ?

pva 11-09-2009 21:49 1216869

я так понимаю эта штука открывает доступ к sql-серверу через интерфейс вэб, а мне надо как бы с другой стороны, отправить запрос на вэб-сервер и получить результат в sql-сервере
алгоритм такой:
1. оператор ПК нажал кнопку
2. на SQL запустилась процедура обработки нажатия
3. на http:// ушёл запрос внешних данных
4. с http:// вернулся ответ в виде xml
5. это подхватила процедура и перевела в своё представление и сделала кучу дополнительной работы с базой
6. оператор ПК увидел результат
---
проблема в том, что эту обработку надо вклинить в чужой софт. А влезть я могу только в процедуру обработки в базе


Время: 17:30.

Время: 17:30.
© OSzone.net 2001-