サーバーへの接続可能数を調べる

概要: ライセンスマネージャーは、インストールされているライセンス数を表示します。あるいは、テスト接続する簡単なアプリケーションにて接続数を確かめることが可能です。

    Q.

InterBaseサーバーへの接続可能数を調べるには、どのような方法がありますか。

    A.

最も単純な方法は、ライセンスマネージャーを起動し、インストールしたライセンスを調べます。

ライセンスマネージャーが何らかの理由で使用できないのであれば、接続数を調べる簡単なアプリケーションを作成する必要があります。

以下に、どのように行うかを示した 2つの例をあげます。

    例1

コマンドプロンプトから isqlを複数起動します。この例では、isql.exeは、環境変数 PATHにあるディレクトリに存在し、InterBaseはデフォルトの場所にインストールされていて、かつ、接続数が 40あるかどうかを調べます。

set isc_user=sysdba
set isc_password=masterkey
for /L %i in (1,1,40) do start "%i" /min isql "c:\program files\borland\interbase\examples\database\employee.gdb"

    例2

Delphiで IBDatabasesの配列を作成します。

procedure TForm1.Button1Click(Sender: TObject);
var
  dbs : array of TIBDatabase;
  counter : integer;
begin
  //edit1.text has the number of connections you want to test
  SetLength(dbs,strtoint(edit1.text));
  try
    for counter := 0 to length(dbs)-1 do
    begin
      Application.ProcessMessages;
      caption := inttostr(counter+1);
      dbs[counter] := TIBDatabase.create(nil);
      with dbs[counter] do
      begin
        DatabaseName := edit2.text;
        Params.add('USER_NAME=sysdba');
        Params.add('PASSWORD=masterkey');
        LoginPrompt := False;
        Open;
      end;
    end;
    finally
      ShowMessage('Now cleaning up');
    counter := 0;
    while (dbs[counter] <> nil) and (counter<=length(dbs)-1) do
    begin
      dbs[counter].Close;
      dbs[counter].Free;
      inc(counter);
    end;
  end; //finally
end;