« *istD RAW (*.PEF) 用 Susie プラグイン開発日記 | Main | *istD / *istDS 関係を独立させました。 »

FireBird / InteBase あれこれ

最近は、Firebird Wikiにもマニュアル関係とかPerl/DBIに関すること他、色々書いてますので、そちらも参考にしてください。
最近(2004/08/22)は、SQLリファレンスの日本語訳など、暇を見つけてちまちまと書いてます。

1. データベースの作成に関して

 DBソフトの Firebird / InterBase に関して実験工房で dbExpress を使用して SQL により直接(TSQLQueryなども使用せずに最低限のレイヤで)アクセスする方法を試した結果を去年から公開しています。
 そこにアクセス解析を貼っているのですが、飛び込んでくる検索エンジンの検索キーワードを見ると、どうやらデータベースの作成の段階を検索している人も多いようです。確かに、IBConsole を使用すれば GUI で簡単にデータベースやテーブルの作成が行えてしまうせいか、web 上ではこれに関して書かれたものをあまり見た覚えがありません。
 しかし、それを検索する人が多いということは、そもそも IBConsole を使うということがわからないのかもしれないので、簡単にまとめておこうと思います。
 基本的には IBConsole を使用する方法と、isql や Intractive SQL 等を使用して SQL により作成する方法があります。IBConsole なら GUI で簡単にできますが、繰り返しが多い仕事での処理のバッチ化には SQL により行う方法が向いているでしょう。実際、仕事に使用する場合はサーバの変更時の再構成などに便利なので、SQL をテキストファイルで保存しておき、それを使って初期化を行うようにしています。
 以下、おおざっぱに2つの方法に関してまとめてみました。

(1) IBConsole による方法
 IBConsole を使用することにより、GUI でデータベースファイルやテーブルを作成できます。
 商用版 InterBase には標準添付ですが、Firebird の場合は別途フリー版を入手すること。日本語対応パッチ有。
 以下の手順でデータベースファイル作成します。

 (a) IBConsole を起動する
 (b) 管理権限のあるアカウントで操作したいサーバにログインする
 (c) メニューで、「データベース」「データベースの作成」を選ぶとダイアログが出るので、値を入力する

dbcreate.gif

 (d) 各パラメータの説明
   上のキャプチャ画像の設定は、単一ファイル構成DBでのものとなっています。
   ・エリアスは適当な識別名
   ・ファイルは作成するファイルパス(どこにでも自由におけるのが Firebird/InterBaseの利点)
   ・ページサイズはDBのスペース効率やBLOBの最大サイズなどを左右する。とりあえずデフォルト値を設定
   ・デフォルトキャラクタセットはデフォルト
   ・SQL Dialect は使用する型のバージョン。基本的には3(IB6)でよいが、古い形式と互換を撮る場合は変更

(2) SQL による方法
 とりあえず isql での方法を書いておきます。

 (a) isql の起動 (InterBase / Firebird 共に付属)
 (b) CREATE DATABASE コマンドでデータベース作成
   InterBase /Firebird 独自の CREATE DATABASE コマンドでデータベースファイルを作成します。
   以下のようなSQL文で作成します。ちなみに指定するLENGTHはページ数になります。



/* マルチファイルDB SIZE = 4K * 200000 * 5 = 4GB 弱 , Shify JIS*/
CREATE DATABASE 'localhost:E:\IB\TESTDB.GDB' USER 'TESTUSER' PASSWORD 'testpasswd'
PAGE_SIZE = 4096 LENGTH = 200000
DEFAULT CHARACTER SET SJIS_0208
FILE 'e:\ib\TESTDB1.GDB' LENGTH = 200000
FILE 'e:\ib\TESTDB2.GDB' LENGTH = 200000
FILE 'e:\ib\TESTDB3.GDB' LENGTH = 200000
FILE 'e:\ib\TESTDB4.GDB' LENGTH = 200000
;


   ちなみに、単一ファイル構成の場合はファイル指定は初めの一つだけで大丈夫です。
   また、LENGTHは指定しなくても大丈夫です。

 (c) データベースに接続
  connect コマンドで接続します。例えばこんな感じです。(下線付きはプロンプト)
  SQL> connect 'localhost:E:\IB\TESTDB.GDB' user 'TESTUSER' password 'testpasswd'

 (d) sql で作成したデータベースファイルを IBConsole で取り扱う
  sql で直接作成した場合、IBConsoleのデータベース一覧には出ないようです。そのときは、データベースエリアスの登録を行うことにより、IBConsole で簡単に取り扱うことが出来ます。

|

« *istD RAW (*.PEF) 用 Susie プラグイン開発日記 | Main | *istD / *istDS 関係を独立させました。 »

パソコン・インターネット」カテゴリの記事

Comments

>(2) SQL による方法
>とりあえず isql での方法を書いておきます。
>(a) isql の起動 (InterBase / Firebird 共に付属)

とありますが、isql の起動はどのようにして行うのでしょうか?
多分、初歩的な質問だと思いますが、よろしくお願いします。

Posted by: はね | 2005.03.24 05:44 PM

メール配信が上手く行ってないようで見落としてました....。

すでに解決されているとは思いますが、isql はインストールした時点で Firebird インストールディレクトリ下の"bin"ディレクトリにあります。
コマンドプロンプトから実行します。
あらかじめ実行パスをを通すか、直接全パスを入力して起動してください。

Posted by: CAT.Y | 2005.06.17 03:07 PM

すでに解決していましたが、回答ありがとうございました♪
"bin"ディレクトリっていうのはアプリケーションが入ってるディレクトリなんですね~

Posted by: はね | 2005.07.26 09:28 PM

When I originally commented I seem to have clicked the -Notify me when new comments are added- checkbox and from now on each time a comment is added I recieve four emails with the exact same comment. Perhaps there is an easy method you can remove me from that service? Thank you!

Posted by: a-kasse | 2014.04.14 10:48 AM

Hi to all, how is everything, I think every one is getting more from this web site, and your views are nice in favor of new viewers.

Posted by: match.com | 2015.04.07 08:16 PM

My family members all the time say that I am wasting my time here at net, except I know I am getting know-how every day by reading such nice articles.

Posted by: googly | 2015.09.06 02:41 AM

The comments to this entry are closed.

TrackBack


Listed below are links to weblogs that reference FireBird / InteBase あれこれ:

« *istD RAW (*.PEF) 用 Susie プラグイン開発日記 | Main | *istD / *istDS 関係を独立させました。 »