Как отправить HTTP или XML / RPC запрос из хранимой процедуры / триггера SQL Server?

#sql-server #http #stored-procedures #triggers #xml-rpc

#sql-сервер #http #хранимые процедуры #триггеры #xml-rpc

Вопрос:

у моего клиента есть SQL Server с некоторой информацией о клиенте, и я разрабатываю интернет-магазин, используя базу данных MySQL. Что нам нужно, так это синхронизировать базу данных баллов лояльности клиентов. Когда клиент покупает товар в обычном магазине (не в интернет-магазине), они записываются на SQL Server (через какое-либо бухгалтерское приложение). Проблема в том, что мне нужна эта информация для доступа к серверу MySQL, который хранит информацию для приложения e-shop, поэтому количество баллов лояльности синхронизируется на обоих серверах.

Есть ли какой-либо способ, как я могу отправить http и / или xml / rpc запрос с SQL Server либо с помощью триггера, либо с помощью хранимой процедуры (я полагаю, триггер может запускать хранимую процедуру, поэтому подойдет любой из них)?

Комментарии:

1. Не могли бы вы настроить MSSQL так, чтобы сервер MySQL был «связанным сервером»? forums.mysql.com/read.php?60,123221,123221

2. К вашему сведению, вы можете сделать именно то, что просили, используя что-то под названием интеграция с SQL Server CLR, однако вы абсолютно не должны! Выполнение IPC (или любого другого блокирующего ввода-вывода) внутри процесса SQL Server, подобного этому, вероятно, приведет к беспорядку в вашем экземпляре SQL Server из-за способа работы с потоками — вы должны использовать то, что предлагает Мэтью вместо этого.

Ответ №1:

Важно ли взаимодействовать с базой данных MySQL через xml / rpc?

Я мог бы попытаться выполнить это, связав базу данных MySQL с базой данных MSSQL … процесс будет зависеть от версии, поэтому ваша версия MSSQL полезна…

Но этот сайт:
http://www.infi.nl/blog/view/id/4/How_To_MySQL_as_a_linked_server_in_MS_SQL_Server

может быть, это хорошее начало для вас

РЕДАКТИРОВАТЬ: И здесь, для MSSQL2008

http://dbperf.wordpress.com/2010/07/22/link-mysql-to-ms-sql-server2008/

Комментарии:

1. Я не знал об этой опции, но, похоже, она решит мою проблему еще более удобным способом! К сожалению, я не могу попробовать это прямо сейчас, поскольку мой клиент еще не настроил доступ к своему серверу, но я прошел по ссылкам и не вижу причины, по которой это не должно работать. Большое спасибо!