HHeLiBeXの日記 正道編

日々の記憶の記録とメモ‥

FrontBaseを入れてみた

何がきっかけだったかすっかり忘れてしまったのだが(と言いかけて、PHPのオンラインドキュメントを眺めていたら存在を知ったということを思い出したらしい)、FrontBaseというRDBMSの存在を知ったので、実際に導入してみた。その際の手順メモ。

インストール前にざっとドキュメント類を読んでみると、ライセンスがうんたら‥と書いてある。どうやら、2ヶ月以上使用する場合にはライセンスキーを取得する必要があるらしいが、無料らしいのでまぁよしとする。一種のユーザー登録みたいなものだろうか。

導入先はいつものとおり(謎)、Windows Vista Business。
ちなみに、以下の手順は基本的に同梱されているReadMe.htmlをなぞったもの。

ダウンロード

上記ページからDownloadへと進み、自分の環境に合ったものを選ぶ。
今回は、

FrontBase 5.1.3c Windows NT, 2000, XP, Vista, x86_64 and i386

をダウンロード。
あと、

FrontBaseJManager 0.5086
JDBC 2.5.6

も併せてダウンロード。PHP5のモジュールが見当たらなかったので、それはまた後で。

インストール

ダウンロードしてきたファイルを展開し、中にある「FrontBase-5.1.3c-WinNT-x32.exe」を実行。
インストール先を選択すれば、あとはファイルがコピーされるのを待つだけ。

Windowsサービスのインストール

手作業でやらないといけないらしい。
で、コマンドプロンプトで次のコマンドをたたく。コマンドプロンプトは管理者権限で起動する必要がある。

> CD /D "<インストール先>\bin"
> FBExec -install=manual

これで「FBExec Service」というサービスがインストールされる。

データベースの作成(と削除)

データベースを作成するにはいくつかの方法があるのだが、参照しているReadMe.htmlではその辺りがうまく説明できていないようなので、自分なりに整理してみた。

FrontBaseコマンドで作成する

"<インストール先>\bin"の下に"FrontBase.exe"という実行ファイルがあり、これを利用する方法。
次のコマンドをたたいてインストール。コマンドプロンプトは管理者権限で起動する必要がある。

> CD /D "<インストール先>\bin"
> FrontBase -install=manual sandbox

これで「FrontBase sandbox」というサービスがインストールされる。"sandbox"というのはデータベース名なので、自分で適当に指定する。

ついでなので、データベース削除の方法も書いておく。同様に管理者権限(以下略)

> CD /D "<インストール先>\bin"
> FrontBase -remove sandbox

ただ、これを実行してもWindowsサービスが無効状態になり、OSの再起動をするまでは再インストール等ができなくなることがあった。Windowsサービスを起動したままだと必ず無効状態になっていたのだが、Windowsサービスを停止していてもダメだったときがあり、この辺はよく分からないのが現状。

クライアントツール「sql92」で作成する

クライアントツールとして「sql92」というものが提供されている。
で、これを使ってデータベースを作ってみる。

> CD /D "<インストール先>\bin"
> sql92
sql92#1> create database testdb ;
sql92#2> connect to testdb user _system ;
Auto committing is on: SET COMMIT TRUE;
testdb@localhost#3> create user fbadmin ;
testdb@localhost#4> commit ;
testdb@localhost#5> disconnect current ;
sql92#6> connect to testdb user fbadmin ;
Auto committing is on: SET COMMIT TRUE;
testdb@localhost#7> values(server_name) ;
Row 1:
  _VALUES001 = Server is "FrontBase Server - 5.1.3c 32-bit" -- Database created with "FrontBase Server - 5.1.3c 32-bit"
testdb@localhost#8> disconnect current ;
sql92#9> quit
>

これで、Windowsサービス「FrontBase testdb」が作成される。

ついでに削除方法も。こっちでもやっぱりうまく削除されないが。

> CD /D "<インストール先>\bin"
> sql92
sql92#1> connect to testdb user _system ;
Auto committing is on: SET COMMIT TRUE;
testdb@localhost#2> stop database ;
sql92#3> delete database testdb ;
sql92#4> quit
> 
クライアントルール「FrontBaseJManager」で作成する

ダウンロードした FBJManager0_5086.zip を解凍すると、Other_platformsの中にFrontBaseJManager.jar(とJDBCドライバ)が入っているので、これを起動する。
起動したら、次の手順で操作する。

  1. "File"-"New Database"メニューを選択
  2. "Database Name"を適当に入力して"Create"ボタンをクリック
  3. 一覧に、作成したデータベース名が表示されればOK
    • ちなみに、ほかの方法と同様にWindowsサービスが作成されていることが確認できるはず。

なお、このツールで"Delete"を行っても、一覧から消えるだけで、Windowsサービス自体には何の影響もないらしい。


削除に関して総括すると「よく分からん」というところか(待て)。

JDBCドライバ経由で接続してみる

別途ダウンロードしたJDBCドライバを使って、自前のJavaプログラムから接続してみる。
接続に必要な情報は、JDBCドライバに同梱されているReadMe.htmlに書いてあるが、次のような感じになる。

Class.forName("com.frontbase.jdbc.FBJDriver");
Connection connection =
    DriverManager.getConnection("jdbc:frontbase://localhost/sandbox", "fbadmin", "");

ここで「sandbox」はデータベース名、「fbadmin」は先に示したcreate userコマンドで作成したユーザ名、パスワードは未設定なので空文字列。