InterBaseのデータベースエリアスとは何ですか?

提供: Support
移動先: 案内検索

問題

InterBaseのデータベースエリアスとは何ですか?どのように使うことができますか?

解説

InterBase7.5で、データベースエリアスの機能が追加されました。この機能はサーバーのコンテキスト内でデータベースファイルに別名をつけるというものです。この機能を利用すると、データベースファイルへのフルパスを指定することなく、クライアントから接続することができます。

このデータベースエリアスの機能を使用すると、データベースファイルの正確な位置がわからなくても、クライアントアプリケーションがエリアスによってデータベースを参照できるため、接続をする際のフルパスの記入の必要がなくなるだけでなく、データベースの場所や、名前の変更があった場合でも、gsecを使用して、データベースエリアスを変更するだけで、アプリケーション側の変更の必要はありません。

解決

エリアスの設定

エリアスの設定は、InterBaseのgsecコマンドを使用して行います。手順は以下です。 (ここでは、interbaseのインストールディレクトリを C:\interBase、ホスト名を localhostとして説明します。)

  1. コマンドプロンプトで、InterBase Serverがインストールされているマシン上で、セキュリティデータベースに接続します。
    cd C:\InterBase\bin
    gsec –user sysdba –password masterkey –database c:\interbase\admin.ib
    
  2. gsecのalias_add コマンドでデータベースエリアスを登録します。以下はempというデータベースエリアスで、付属しているサンプルデータベースemployee.gdbを登録しています。
    gsec> alias_add emp –alias_dbpath c:\interbase\examples\database\employee.gdb
    
  3. 登録されているデータベースエリアスの一覧を表示するには alias_dis コマンドを使用します。
    gsec> alias_dis
    Alias Name: emp
    Database Path: c:\interbase\examples\database\employee.gdb
    
  4. データベースエリアスを削除する場合は、alias_del コマンドを使用します。
    gsec> alias_del emp
    

ISQL(コマンドライン)でエリアスを使ってデータベースに接続する

データベースエリアスを使用しない場合は、以下のようにフルパスを指定する必要があります。(SYSDBAでの接続例)

# isql –user sysdba –password masterkey
Use CONNECT or CREATE DATABASE to specify a database 
SQL> connect c:\interbase\examples\database\employee.gdb;
Database: c:\interbase\examples\database\employee.gdb, User: sysdba

データベースエリアスを示すには、エリアス名の前に:(コロン)をつけます。ISQLを使用して、設定したデータベースエリアスを使用して接続するには、以下のように指定します。(SYSDBAでの接続例)

# isql –user sysdba –password masterkey
Use CONNECT or CREATE DATABASE to specify a database 
SQL> connect :emp;
Database: :emp, User: sysdba

FireDACでエリアスを使ってデータベースに接続する

FireDACで接続する場合も、コマンドラインでの接続の時と同様、データベースエリアスを示す、:(コロン)をつけて指定します。 FireDACの接続エディタで、Databaseパラメータの箇所に登録したエリアス(ここでは emp)にコロンをつけて指定するだけです。

IB alias01.png

IBExpressでエリアスを使ってデータベースに接続する

IBExpressで接続する場合も、同様にデータベースエリアスを示す、:(コロン)をつけて指定します。 オブジェクトインスペクタ上で、TIBDataBaseプロパティの箇所に登録したデータベースエリアス(ここでは emp)にコロンをつけて指定します。

IB alias02.png

オブジェクトインスペクタではなく、デザイナ上で、TIBDataBaseをダブルクリックし、「データベースコンポーネントエディタ」のダイアログ上でも同様に「:emp」を指定して設定できます。一度、このダイアログを閉じて、再度表示した際に、:(コロン)が取れた状態で表示されますが、再度:(コロン)を設定しなおす必要はありません。

IB alias03.png

関連記事