Drupal 7 webform提交到远程MSSQL服务器

时间:2011-09-27 05:50:08

标签: sql-server drupal drupal-webform

当用户在Drupal 7网站上填写表单时,我需要将这些信息放入远程MS SQL服务器数据库。它本质上是一个预订系统,因此它们填写了日期/时间和名称等详细信息,当他们单击提交时,这些字段需要被推送到远程MS SQL数据库中。

我想知道a)这是否可行b)我该如何实施?

2 个答案:

答案 0 :(得分:2)

一个。是的,这是可能的。

B中。我推荐以下方式,这也是“Drupal”的方式。

  1. 建立与远程数据库的连接。如果您想在代码中执行此操作,请查看here,或者如果您希望Drupal通过配置settings.php来查看它,请查看here。在数据库之间切换的关键是db_set_active($ database)。
  2. 运行您要针对MSSQL数据库运行的查询。只记得使用db_set_active()在数据库之间切换。

答案 1 :(得分:0)

您可以使用Form API中的custom module轻松在Drupal中创建自定义表单。在表单的提交处理程序中,您可以使用PHP环境中可用的任何库将提交的数据插入到MS SQL数据库中。连接数据库是一个棘手的部分,特别是如果你的Drupal主机没有运行Microsoft操作系统。在IIS上运行的Drupal 7中,您可以将Drupal的Database APIMS SQL driver一起使用。如果您不在IIS或Drupal 7上,如果没有Drupal的数据库API使用PDO ODBC unixODBCFreeTDS,这也是可行的。我做到了,但在查询中使用类型绑定参数时遇到了一个主要问题,请参阅Using typed bound parameters with PHP PDO-ODBC, unixODBC and FreeTDS

也就是说,在数据库级集成应用程序是个坏主意。这种整合是紧密耦合的。对MS SQL数据库架构的任何更改或实际数据存储在列中的方式都将破坏表单提交。最好的方法是让您的预订系统提供一个远程API来插入新数据。