2011-04-23 32 views
1

我想爲我們的一些客戶建立一個Drupal站點,以便在我們外部訪問他們的信息。我決定在Drupal中實現它以充分利用它提供的所有功能。然而,我們目前的系統是在mssql中,Drupal並沒有真正支持它,甚至也沒有真正被PHP支持。如何訪問Drupal站點內的單獨MS SQL數據庫中的數據?

所以我的問題是我應該如何鏈接兩個數據庫(例如獲取信息到模塊等Drupal)。

  1. 將現有系統到MySQL易於集成(目前不太可能)
  2. 只需提供中的IFrame我需要的頁面信息來拉
  3. 獲得PDO MSSQL的機器上工作,我已經安裝的Drupal並在我需要時在Drupal模塊中建立自己的連接。 (這是否皺眉?我可能想要移動機器)
  4. 爲我們的主系統創建一個API來獲取它需要的信息。返回JSON的URL集合

最簡單的可能是3,但我想我可能會後悔,因爲MSSQL支持正在回滾,它似乎有點破解。

我想我會跟4一起去,但是想知道人們是否覺得這是一個很好的計劃。從性能的角度來看它是否現實?任何人都可以提出一個好的API框架/路線下去?

回答

2

Forena模塊可用於查詢(不更新)各種數據庫,如MS SQL數據庫,並建立到外部數據庫的數據庫連接。它配備了各種鉤子,可以在另一個模塊中使用Forena。

有關Forena更多的細節,2種類型的文檔可供選擇:

  • Community documentation
  • Forena自帶的文檔,您可以在安裝和啓用模塊後立即訪問它。檢出demo site當前的在線例子:

    • Forena文檔 - 使用鏈接「報告文件」或訪問相對鏈接/報告/幫助。
    • Forena樣本 - 使用鏈接「報告樣本」或訪問相關鏈接/報告/樣本(這些樣本功能齊全,因此請務必嘗試一下,比如SVG Graph樣品)。

最新的7.x版,4.x的版本還包括無論是創建報表(所見即所得的報表編輯器)和/或用於創建SQL查詢(查詢驚人的(我認爲)UI生成器)。

這裏是MS SQL數據庫部分的一些變化:

  1. 使用的SQLite,而不是MS SQL數據庫:在Forena樣品實際上被運往包括(微型)SQLite數據庫。請在demo site中查看:顯示的數據中包含sampledb中的數據,該數據採用SQLite格式。
  2. Forena帶有一整套Supported database connections ...如MySQL,Oracle,Postgress或任何PDO兼容變體。

有足夠的理由考慮給Forena試一試嗎?在這樣做的時候,使用它的問題隊列來處理您可能遇到的任何類型的支持/文檔​​請求。

請注意:我是Forena的共同維護者。