SQLite Managerを試す

2008/03/11 | SQLite

いったんダメ出ししたSQLite Managerだったが、他に有用そうな管理ツールも見当たらなかったので、結局これを試すことにした。前回は希望通りに動いてくれなかったのだが・・・どうやら設定方法に問題があったようだ。設置方法をメモしておくことにする。

(1)ファイルのダウンロード
SourceForgeからファイルをダウンロードして解凍しておく。

(2)ウェブサーバにアップロード
解凍したファイルをアップロードする。SQLite ManagerはPHPで作られたウェブベースの管理ツールなので、ウェブからアクセスできるところに設置することが必要。

(3)パーミッション設定その1
SQLite Managerは自身でもSQLiteを使用している(設定内容等を保存)。よって内部で使用しているSQLiteデータベースファイルのパーミッションを設定する必要がある。
chmod 666 include/config.db
chmod 666 include/config3.db

(4)パーミッション設定その2
(3)だけでいいと思っていたら、どうもその上位のディレクトリも権限設定しておく必要があるようだ。
chmod 777 include/

(5)パーミッション設定その3
新しくデータベースを作成する場所もパーミッション設定が必要になる。たとえば../dir4db/にデータベースを作成したい場合は以下のように・・・。
chmod 777 ../dir4db/

これで設定は完了。あらためてブラウザからSQLite Managerにアクセスする。この状態で新規データベースを作成してみる。データベース作成の際には2箇所の入力が必要。

名前:管理用で使う名前(多分適当に何でもいい)
パス:実際に作成するデータベースのパス

たとえば名前は「testdb」パスは「../dir4db/testdb.sqlite」などと指定する。ちなみにバージョンは2と3を選択できるがここで注意が必要。素のPHP5ではバージョン2のデータベースしか扱うことができない。だからsqlite_open等の関数を使って処理したい場合はバージョン2を選んでおく必要がある。ちなみにバージョン3で作ってしまうと、以下のようなエラーが出てデータベースに接続することができない。

Warning: sqlite_open() [function.sqlite-open]: file is encrypted or is not a database

最後に「保存」ボタンをクリックすれば、データベースの作成は無事完了。ようやくSQLiteをまともに使うことができるようになった。使ってみるとこのSQLite Manager、なかなかよさげな感じ。とりあえず満足したので、これでいくことにした。最初からちゃんとマニュアルを読んで設置すべきだった・・・。

お手軽?簡単?データベースSQLite

2008/03/10 | SQLite

今まで必要性に迫られなかったが、ようやく使う機会が訪れた。
データベースSQLite。データベースといっても、サーバDaemonが動いているわけではなく、ファイルにデータを書き込んで保存し、そのファイルに対するアクセスをSQL文を使っておこなうためのライブラリ、とでも言ったほうがわかりやすいだろう。つまりSQLiteは特別なソフトではなく、PHPでファイルをSQL文を使って処理するための関数群と思ったほうがいいかもしれない(実際はぜんぜん違うけど、そう思っておいてなんら差し支えない)。

PHPからSQLiteを扱うのは簡単だ。以下の一行でデータベースへのコネクションを確立して、あとはSQL文を発行するだけ。

$db=sqlite_open(‘mysqlitedb’);

ここでmysqlitedbはデータベース名のようだが、これは単なるファイル名となる。つまりファイルを指定するだけでいいので、ファイル操作のfopenと同様と思っていい。戻り値の$dbはデータベースへのコネクションIDということになり、これに対してSQL発行のメンバ関数を与えていくことになる。

少し試してみたのだが・・・。今まで試したところ、管理ツールがどれもいまいち。何も考えずに簡単に希望通りに動いてくれる管理ツールが見当たらないのだ。MySQLにしてもPostgreSQLにしてもphp**Adminが便利に使えるし、SQLiteにも同様のものがあるのだが、今のところ自分の環境では動いてくれなかった。そのほかの管理ツールもどうもイマイチだ。直感的でない。マニュアルを見なくてもそこそこ動いてくれるようでないと・・・。
ちなみに以下のような管理ツールがあるようだ。

SQLiteManager
phpSQLiteAdmin
rktSQLite

全部試したのだけれど・・・どれも満足できない。早めにイケテル管理ツールを探さないと業務に支障が・・・。

ちなみにシステム構築で、素でsqlite_openなんて書くことはない。汎用なデータベース接続ライブラリを使うからだ。PHP5は嫌だなぁ、とか思ってたけど、世の流れに沿って、結局どっぷりとPHP5に浸かっている上体に気がついた。


守谷市(まちの情報ポータル) 無料アンケートレンタルjpForm.net