Drupal 6、DB2 Dirver開発中

このエントリーをはてなブックマークに追加
投稿者:chikunai 投稿日時:2010-12-25(土) 03:32

Drupal 6用のDB2 Driverを開発しています。未完成な作品の進捗を公開します。

一般的には、DrupalのDBはMySQLを選択します。使い慣れているIBM DB2でDrupalを使いたい。あえてIBM DB2を選択してみました。

実は2年前、DB2 Express-C V9.5とZend Core for IBMの研究環境で、ひっそりと開発していました。時間と行き詰まりで断念。今回時間が出来たことと、DB2 V9.7にMySQL互換機能がついたので、再チャレンジしてみることにしました。

開発にあたって、

・使い慣れたDB2でDrupalを利用したい。
Support DB2 databasesを元に開発。
・DB2 Express-C 9.7.2を利用。MySQL互換機能を利用してチャレンジ

ただし調べた限りでは、

Support DB2 databasesの作者hswong3iさんは、PHP PDOでの開発に切り替えているみたいです。Siren 1.xがそのPHP PDOのDrupalらしい。
・Drupal 8からDB2のような他DBが対応されるような記事をどこかで見かけました。

ということで、敷居は非常に高そうです。なので、期待しないでください。

開発環境

・CentOS 5.5
・Apache 2.2.3
・PHP 5.2.13
・DB2 Express-C 9.7.2

開発中のファイルを公開します。

・database.db2.inc(ダウンロードしたらアンダースコアを取り除いてください)
・install.db2.inc(ダウンロードしたらアンダースコアを取り除いてください)
・install.incは以下のとおり修正して使う

  1.   foreach (array('mysql', 'mysqli', 'pgsql') as $type) {

から
  1.   foreach (array('db2', 'mysql', 'mysqli', 'pgsql') as $type) {

進捗ですが、インストールで失敗しています。

Drupal 6をインストールしたSQLの処理結果を添付しました。install_result_20101125.txt を観てください。

エラー内容をざっと見る限り、予約語に引っかかったり、関数が存在しなかったり?、色々出ています。

ゆっくりつぶしていきます。

添付サイズ
install_result_20101125.txt107.83 KB
database.db2_.inc40.15 KB
install.db2_.inc6.29 KB



コメント(2)

Drupal 7

投稿者:匿名ユーザ 投稿日時:2010-12-26(日) 10:51

Drupal 7 からはデータベースレイヤーが完全に抽象化されるので、そちらでトライされたほうが良いと思います。

http://drupal.org/node/165788#comment-2279832

ちなみに、ここでコメントしているCrell (Larry Garfield) は、Drupalのデータベースレイヤーを担当している一人です。

それから、上記スレッドを始めた人は、Drupal6コア用のパッチとしてDB2ドライバーを制作しています(スレッドの最初を参照)。どうしてもD6でDB2を使う必要がある場合、こちらを参考にするのも良いかもしれません。ご参考まで。

ご指摘ありがとうございます!
やっぱりそうですか。SQLがMySQL向けに作られているので、難しいと思っていました。Drupal6にこだわりはないので、いよいよリリースされるDrupal7についても研究してみます。

akismetのご指摘もありがとうございます。別のモジュールに変えようかな・・・。

新しいコメントの投稿

このフィールドの内容は非公開にされ、公表されることはありません。
  • 使用できるHTMLタグ: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <table> <tr> <th> <td>
  • 行と段落は自動的に折り返されます。
  • You can use BBCode tags in the text. URLs will automatically be converted to links.
  • 次のタグを使用してソースコード構文をハイライトすることができます。: <code>, <blockcode> The supported tag styles are: <foo>, [foo].
  • You may insert videos with [video:URL]
  • ウェブページアドレスとメールアドレスは、自動的にハイパーリンクに変換されます。

書式オプションに関するより詳しい情報...

CAPTCHA
この問題はユーザが人間であるかどうかをテストし、スパムによる自動投稿を防ぐためのものです。
Image CAPTCHA
Enter the characters shown in the image.
Drupal theme by Kiwi Themes.