Drupal 7 - 在(虚拟?)节点和视图中使用外部数据库

时间:2014-01-24 11:12:19

标签: drupal drupal-7 datasource drupal-views drupal-nodes

我是一个Drupal新手,但我已经承诺移植一些相当复杂的定制网站。

其中一个是冲浪报告网站,它使用具有数百万个时间/位置行的数据库来获取当地条件。显然无法每天将它写入Drupal表,所以我正在寻找一种连接和检索实时数据的方法。

我需要在许多显示器中使用外部数据,这些显示器通常是节点,视图,块等。

理想的解决方案是外部数据只是作为本地数据出现,但我猜这是一个相当大的问题。

我对任何方法持开放态度。如果它涉及编写一个模块,那么一些关于要查看的内容的指针(最好是代码示例)将非常受欢迎。

谢谢, 克里斯

3 个答案:

答案 0 :(得分:1)

也许您可以使用Data module

来自documentation

  

数据模块允许您使用Drupal以外的数据库表。

     

您可以在数据库中“采用”通常Drupal不知道的表。这可能是您导入的外部数据,也可能是其他应用程序创建的表。

它还提供视图集成。

答案 1 :(得分:1)

我必须在我的Drupal 6中显示来自遗留人员数据库的信息。我已经探索了三种方法:

  1. 将数据库行导入为夜间cronjob中的节点
  2. 访问我自己模块中的外部数据库
  3. 使用hook_views_data()
  4. 访问外部数据库

    如果我再次开始,我会使用hook_views_data(),它会更灵活,特别是如果你想将外部数据库信息与drupal节点匹配。

    最佳。

答案 2 :(得分:0)

查看Forena模块,该模块可用于显示(=查询,而不是更新)存储在Drupal外部数据库中的数据。它带有一整套Supported database connections,例如MySQL,MS SQL,Oracle,Postgres或任何符合PDO的变体。

有关Forena的更多详细信息,可提供以下两种文档:

Sample reports and graphs功能齐全,例如Master Summary with drill down上提供的下钻功能。使用Forena“皮肤”,您还可以使用令人惊叹的“dataTables”(及其小部件,例如按选定列排序)。

Forena还包含用于创建报告( WYSIWYG报告编辑器)和/或用于创建SQL查询( WYSIWYG查询生成器)的UI。

披露:我是Forena的共同维护者。