当用户在Drupal 7网站上填写表单时,我需要将这些信息放入远程MS SQL服务器数据库。它本质上是一个预订系统,因此它们填写了日期/时间和名称等详细信息,当他们单击提交时,这些字段需要被推送到远程MS SQL数据库中。
我想知道a)这是否可行b)我该如何实施?
答案 0 :(得分:2)
一个。是的,这是可能的。
B中。我推荐以下方式,这也是“Drupal”的方式。
答案 1 :(得分:0)
您可以使用Form API中的custom module轻松在Drupal中创建自定义表单。在表单的提交处理程序中,您可以使用PHP环境中可用的任何库将提交的数据插入到MS SQL数据库中。连接数据库是一个棘手的部分,特别是如果你的Drupal主机没有运行Microsoft操作系统。在IIS上运行的Drupal 7中,您可以将Drupal的Database API与MS SQL driver一起使用。如果您不在IIS或Drupal 7上,如果没有Drupal的数据库API使用PDO ODBC unixODBC和FreeTDS,这也是可行的。我做到了,但在查询中使用类型绑定参数时遇到了一个主要问题,请参阅Using typed bound parameters with PHP PDO-ODBC, unixODBC and FreeTDS。
也就是说,在数据库级集成应用程序是个坏主意。这种整合是紧密耦合的。对MS SQL数据库架构的任何更改或实际数据存储在列中的方式都将破坏表单提交。最好的方法是让您的预订系统提供一个远程API来插入新数据。