Gaucheプログラミング(立読み版) > 第2部: 実用 > 簡易データベースを使おう > dbm.fsdbmライブラリを使う


[Prev] [Next] [Up] [Contents][フレーム表示] [フレーム解除

dbm.fsdbmライブラリを使う 応援する

Gaucheのdbmライブラリは、NDBM、GDBMといった簡易データベースを使うためのAPIを共通化します。dbmライブラリからNDBMやGDBMを使うにはこれらの簡易データベースがあらかじめインストールされている必要があります。

Gaucheには、Gaucheのみを使って書かれたdbm.fsdbmライブラリが付属しています。dbm.fsdbmライブラリを使うには外部ライブラリをインストールする必要はありません。

dbm.fsdbmライブラリを使う

dbm.fsdbmライブラリを使うには、あらかじめ次の式を評価させておく必要があります。

 (use dbm.fsdbm)

これ以降のデータベース操作は、dbm.fsdbmライブラリのときも、NDBMを使うためのdbm.ndbmライブラリのときも、GDBMを使うためのdbm.gdbmライブラリのときも共通です。後述するdbmライブラリのdbm-openメソッドやdbm-closeメソッド、dbm-put!メソッド、dbm-getメソッドはどのデータベースにも共通に使えます。

ファイルシステムにデータを保存する

dbm.fsdbmライブラリはデータをファイルシステムに保存します。あらかじめ、Gaucheから書き込み可能なディレクトリをデータの保存場所として確保しておく必要があります。

例:

 /home/loginname/data

上記はログイン名がloginnameであるユーザーのホームディレクトリ配下の、dataという名前のサブディレクトリに保存する場合の例です。

データベースをオープンする

データベースをオープンするには、dbmライブラリのdbm-openメソッドを使います。

例:

  (dbm-open <fsdbm> :path "/home/yasuyuki/data" :rw-mode :write)

dbm-openの最初の引数は使用したいデータベースの型(クラス型)です。上記の例ではファイルシステムデータベース(fsdbm)を使用したいので<fsdbm>型を指定しています。

オプション引数である:pathキーワードに続いて、データベースの格納先のパス名を指定します。上記の例では"/home/yasuyuki/data"ディレクトリにデータを保存させます。

オプション引数である:rw-modeキーワードに続いて、データベースのアクセス制限を指定します。上記の例では読み書き可能を示す:writeキーワードを指定しています。

:rw-modeキーワードで指定できるアクセス制限は次の種類があります。

キーワード 意味
:read 読み取り専用
:write 読み書き可能。存在しない場合は新たに作られる
:create 新規作成。すでに同名のDBが存在する場合は内容が消去される

dbm-openの戻り値は<dbm>型(クラス型)のインスタンスです。オープンに失敗した場合はエラーが発生します。

データベースをクローズする

データベースをクローズするには、dbmライブラリのdbm-closeメソッドを使います。

例:

 (dbm-close my-schedule-db)

dbm-closeの引数は<dbm>型のインスタンスです。クローズに失敗するとエラーが発生します。クローズして以後のデータベースへのアクセスもエラーが発生します。


[Prev] [Next] [Up] [Contents][フレーム表示] [フレーム解除

このサイトについて|ヘルプ|Q&A|個人情報保護|プライバシーポリシー|利用規約|コメント・トラックバック規約|削除規程|広告掲載
Copyright (c) 2005-2007 Time Intermedia Corporation