isql を使う

isql とは?

isql はコマンドライン上で動くコンソールで、キーボードやファイルから SQL の定義文をサーバーに送れます。

起動は簡単

コマンドプロンプトを開き
c:\>isql
と入力すれば起動します。以降 SQL> というプロンプトに変わります。
SQL>
QUIT; と入力すると変更内容を更新せずに終了します(多分、後で説明する命令 COMMIT を実行したところまでは結果が残ると思います)。
SQL>QUIT;
c:\>
EXIT; と入力すると変更内容を更新して終了します。
SQL>EXIT;
c:\>

ユーザー名とパスワードには気をつけて(1)

InterBase に初期登録されているユーザーは SYSDBA のみで masterkey というパスワードです。例えば "test.gdb" というデータベースファイルを作ることにします。そのためには CREATE 文を実行するのですが (文の構造に付いては後述する予定) 単にファイル名だけを指定しても
SQL>CREATE DATABASE "test.gdb";
Statement failed, SQL CODE = -902

Your user name and password are not defined. Ask your database administrator to set up an InterBase login.
SQL>
というように作成を拒否されます。対処方法は
SQL>CREATE DATABASE "nantara.gdb" user 'SYSDBA' password 'masterkey';
のように、CREATE 文 (や CONNECT 文) でユーザー名とパスワードを入れるか
c:\>isql -user SYSDBA -password masterkey
SQL>
とユーザー名とパスワードのオプションをつけて isql を起動する方法があります、後者の方法で起動すれば後はそのまま CREATE 文や CONNECT 文を実行できます。
isql であらかじめ作成した sql 文のファイル (例えば kantara というファイル名だとします) を実行するには -i オプションを使います。
C:\>isql -i kantara -user SYSDBA -password masterkey
(場合によってはメッセージが出る)
C:\>
もちろんユーザー名とパスワードはコマンドラインで指定せずにファイル kantara の中で指定しても構いません。

ユーザー名とパスワードには気をつけて(2)

もちろん、将来データベースを公開しようと考えたなら、SYSDBA のパスワードは変更しておくべきです。また、今後の説明で
「管理者権限で…」と記したとき、SYSDBA とそのパスワードを使ったものとして操作例には表記しないことがありますのでご了承ください。

その他

クローズドな環境が保証されるなら練習でデータベースファイルを作成する時は管理者権限でログインした方がパーミッションの問題に悩まされず面倒がないようです。

[Top 側へ一つ移動]