Отправка веб-формы Drupal 7 на удаленный сервер MSSQL - PullRequest
1 голос
/ 27 сентября 2011

Когда пользователи заполняют форму на моем сайте Drupal 7, мне нужна эта информация, чтобы перейти на удаленный сервер MS SQL db.По сути, это система резервирования, поэтому они заполняют такие данные, как дата / время и имя, и когда они нажимают кнопку «Отправить», эти поля необходимо поместить в удаленную базу данных MS SQL.

Я хотел бы знать) если это возможно и б) как мне реализовать это?

Ответы [ 2 ]

2 голосов
/ 27 сентября 2011

A. Да, это возможно.

B. Я рекомендую следующий способ, который также является способом «Drupal».

  1. Установить соединение с удаленной базой данных. Посмотрите здесь , если вы хотите сделать это в своем коде, или посмотрите здесь , если вы хотите, чтобы Drupal позаботился об этом, сконфигурировав settings.php. Ключом для переключения между базами данных являются db_set_active ($ database).
  2. Запустите запросы, которые вы хотите выполнить к базе данных MSSQL. Просто не забудьте поставить переключатель между базами данных, используя db_set_active ().
0 голосов
/ 27 сентября 2011

Вы можете легко создать пользовательскую форму в Drupal, используя API формы в пользовательском модуле .В обработчике отправки для вашей формы вы можете вставить отправленные данные в базу данных MS SQL, используя любую библиотеку, доступную в вашей среде PHP.Сложно подключиться к базе данных, особенно если на вашем хосте Drupal не установлена ​​ОС Microsoft.В Drupal 7, работающем на IIS, вы можете использовать Drupal Database API с драйвером MS SQL .Если вы не используете IIS или Drupal 7, это также возможно без API базы данных Drupal с использованием PDO ODBC с unixODBC и FreeTDS .Я сделал это, но у меня была серьезная проблема при использовании типизированных связанных параметров в моем запросе, см. Использование типизированных связанных параметров с PHP PDO-ODBC, unixODBC и FreeTDS .

Тем не менее, интеграцияприложений на уровне базы данных - плохая идея.Такая интеграция тесно связана.Любое изменение в схеме вашей базы данных MS SQL или в способе хранения фактических данных в столбцах нарушит отправку вашей формы.Лучше всего, чтобы ваша система бронирования предоставляла удаленный API для вставки новых данных.

...