私は現在、教員がMS SQLデータベースを設定しているため、多くのMS SQLデータベースを使用する学術医療部門で働いています。
また、最近リリースしたDrupal 6 LAMP上のサイトは、.NETショップであるはずだったものからPHPおよびMySQLに移行することを目標にしています...オープンソースにしてください!
私の問題: external MS SQLデータベーステーブルからMySQLで実行されるDrupalにデータをフェッチします。より具体的には、この外部データで2 を表示し、サイトに動的に表示します。
これまでにわかったこと:
今:たとえば、Data APIモジュールをプラグインを作成することで、私の目的にどのように使用できるかを調べます。
外部のMS SQLテーブルにアクセスする方法について私に役立つどんな考えでも非常にありがたいです。
質問で指摘したように、ビューは現在それを行うことができません。 DrupalのDBレイヤーに依存していますが、現在は別のDBエンジンをクエリできず、MS-SQLをサポートしていません。ビュー3(現在アルファ版)は プラグイン可能なクエリバックエンド を提供するため、PDO ODBCまたはMSに到達するための他の手段の上にバックエンドを書き込むことが可能でなければなりませんSQL DB。PHP=からのMS-SQL DBでのクエリは、おそらくパフォーマンスの問題になります。ビューへのキャッシュは、サーバーへの不要なクエリの繰り返しを避けるために必要です。
これを回避してビュー3に飛び込むのを避けるために、ビュー(2)を使用してDrupalのデータベース、または同じエンジン上の別のデータベースにクエリを実行できます。そして、必要なデータをこのデータベースにインポートするだけです。これは私が最近毎日少量のデータを更新するプロジェクトでやったことです。 PDO ODBC ( nixODBC および FreeTDS を使用)を使用して、MS SQL ServerデータベースからMySQLテーブルに定期的にデータをインポートしました。次に、テーブルは Views 'API を使用してビューに公開されました。 Dataモジュールもこの目的に使用できます。
別のオプションは、MS-SQLからデータをDrupalのノードとしてインポートすることです。 (CCKを使用して)必要なフィールドを含むカスタムコンテンツタイプを使用してノードとしてデータをインポートすると、Drupalのノードを活用するために、ビューの統合と既存のモジュールのトンを利用できます。
外部データをDrupal=にインポートする簡単なソリューションの1つは Feeds モジュールです。最初はRSSをインポートするFeed APIのリライトとしてビルドし、Atomフィード、フィードは実際にDrupalにデータをインポートするための強力なフレームワークです。プラグインとフックを介して簡単に拡張し、さまざまなデータソース、フォーマット、プロセッサをサポートできます。
ビューを使用して外部MS SQLデータベースにアクセスするよりも、カスタムコードページやブロックを使用する方が簡単です。ビューを取得して外部データベースにアクセスするのは十分に難しいので、MS SQLデータベースにすると、難しいことだけが難しくなります。
今はビュークエリビルダーを使用していませんが、LIMITを含むクエリが作成されると確信しています。 IIRC MS SQLはクエリでLIMITを処理できないため、ビューがクエリを実行している間にデータベースを切り替えて、ワードの後で切り替える必要があるだけでなく、MS SQLデータベースを処理してDrupalは、MS SQLデータベースへのクエリ作成のサポートを追加します。
これはすべて不可能ではありませんが、代わりにデータをMySQLデータベースにインポートする方がはるかに簡単です。 Drupal MS SQLでの6つのパフォーマンスもあまり良くありません。
最近も同じ質問をしている人のために:それのためのモジュールがあります、それは呼ばれています- Forena 。 MySQLデータベースのクエリ(更新ではない)に使用できます。
Forenaの詳細については、2種類のドキュメントを利用できます。
Forenaに付属のドキュメント。モジュールをインストールして有効にするとすぐにアクセスできます。現在のオンライン例については、 デモサイト を確認してください。
最新の7.x-4.xバージョンには、レポートの作成(WYSIWYGレポートエディター)やSQLクエリの作成(クエリビルダー)のための驚くべき(私は思う)UIも含まれています。
質問のmysqlデータベースの一部のバリエーションを次に示します。
Forenaを試してみるのに十分な理由はありますか?そうしている間は、あらゆるタイプのサポート/ドキュリクエストに発行キューを使用してください。
注意:私はForenaの共同メンテナです。
Drupal for windows は存在します。しかし、多くのモジュールがその上で機能するとは思えません。ただし、ランプとウィンドウの2つのサイトでテーマを共有できます。ランプからMS SQLに接続しようとして保存しましたdrupalインスタンス。