各 Adaptive Server Anywhere (SQL Anywhere) データベース・システムには、データベースを管理するデータベース・サーバが必要となります。他のアプリケーションがデータベース・ファイルを直接扱うことはありせん。つまり、それらの各アプリケーションは、いずれにしてもデータベース・サーバを通じて通信することになります。そのため、データベースへの排他的な通信ポータルとしてサーバを扱う必要があります。したがって、エンジンがないと、データベースにはアクセスできません。
データベース・サーバ (データベース・エンジンとも呼ばれる) を起動すると、起動のプロセスでそのサーバに必ず名前が与えられます。-n
コマンドライン・オプションを使用すると、サーバ・スイッチとしてサーバに名前を付けたり、データベース・スイッチとしてデータベースに名前を付けることができます。このスイッチの意味は、その位置によって異なるので注意してください。サーバ名とデータベース名は、データベースに接続するときにクライアント・アプリケーションが使用する接続パラメータ内にあります。サーバ名は、デスクトップ・アイコンと、サーバ・ウィンドウのタイトル・バーに表示されます。
ネットワーク上の他のサーバ名と競合しないようにする場合や、クライアント・アプリケーションのユーザに意味のある名前を提供する場合に、データベース・サーバ名を指定することもあります。サーバは、存続している間
(つまり停止されるまで) は指定された名前を維持します。
最初のデータベース・ファイルの前に -n スイッチを指定すると、サーバに名前を付けることができます。たとえば、次のコマンド・ラインを使用すると、マウントされた
asademo データベースを使ってサーバが起動され、そのサーバに Test という名前が付けられます。
dbeng8 -n Test asademo.db
データベースを指定せずにデータベース・サーバを起動する場合は、サーバの名前を直接指定する必要があります。次のコマンドを実行すると、データベースを起動せずに
Scott という名前のサーバが起動されます。
dbeng8 -n Scott
明示的に名前を指定しなかった場合は、最初に起動されたデータベースの名前がサーバに付けられます。たとえば、サーバの名前が指定されていない次のコマンドがあるとします。
dbeng8 asademo.db
デフォルトでは、このサーバに asademo という名前が付けられます。起動時に名前が指定されていないと、サーバは
.db 拡張子を除いたデータベース・ファイル名をサーバ名とします。
2 番目の例として、2 つのデータベースを同じサーバで起動する次のコマンドがあるとします。
Dbeng8 first_database.db second_database.db
サーバは最初に起動されたデータベースの名前をとるので、この例では、first_database がそのサーバ
の名前になります。
データベースが名前を取得する方法
先に説明したように、-n スイッチをデータベース・スイッチとして使用してデータベースに名前を付けることもできます。ユーザが容易に識別できる名前をデータベースに付ける場合は、サーバでデータベースをマウントするときに明示的にデータベース名を指定します。
サーバでデータベースを起動するときには、データベース・ファイル名 (dbf)、データベース名
(dbn)、サーバ名 (eng) という 3 つの名前が必要になります。たとえば、次の例について検討します。xxx.db
というデータベースがあります。サーバでは、次のコマンドを使用してこのデータベースを起動します。
dbeng8 xxx.db
データベースの名前が指定されていないため、データベースは xxx という名前を受け入れます。サーバの名前も指定されていないため、サーバはデータベースの名前を受け入れて、xxx
という名前になります。この場合、接続パラメータの値は次のようになります。
dbf=xxx.db
dbn=xxx
eng=xxx
データベース・ファイルの後に -n スイッチを指定すると、データベースに名前を付けることができます。たとえば、前の例で次のコマンドを代わりに使用したとします。
dbeng8 xxx.db -n Data
ここでは、データベースに Data という名前が指定されています。サーバの名前は指定されていないので、サーバはデータベースの名前を受け入れて、Data という名前になります。この場合は、接続パラメータが次のように表示されます。
dbf=xxx.db
dbn=Data
eng=Data
最後に、-n スイッチを使用してサーバ名とデータベース名の両方を指定する場合についてみてみます。
コマンドのデータベース・ファイル名の前に -n スイッチを置くと、サーバの名前が指定されます。データベース・ファイル名の後に
-n スイッチを置くと、データベースの名前が指定されます。
dbeng8 -n MyServer xxx.db -n MyDatabase
この例では、MyServer という名前がサーバに付けられ、データベースにも明示的に MyDatabase という名前が付けられます。この場合、接続パラメータは次のようになります。
dbf=xxx.db
dbn=MyDatabase
eng=MyServer
|