Subject Re: Control number of users login concurrently (Continue)
Author Adam
--- In, "Alvin Leong" <alvinleo75@...>
> To Martijn Tonies,
> Thank for reply.
> I am mean is interbase 5.6 have user licenses to control on number of
> users login concurrently. e.g If i bought 20 user licenses, the
> interbase only allow 20 users to log into database concurrently.
> Did firebird have built-in function or any other external user define
> function to allow me to control number of user login?
> Thank You.

Firebird allows unlimited** connections. Unlike IB 5.6, you do not need
to purchase user licences, so there is not inbuilt facility to police

While there is an API call to retrieve the users logged into the
database engine, this only works for Superserver, and nothing would
stop your customers uninstalling Superserver and installing Classic.
Classic always returns a single user when the API call is returned.

Your only option is to implement some control mechanism yourself, where
your client application attempts to insert a record into a given table.
There is a small chance that due to MGA if two or more people connect
simultaneously, they will not see each others record.

You also need to consider how to deal with bad disconnections to free
up licences after a set timeout. If you were to trust any number
Firebird gave you, would you need an additional license to handle
backups? What if some other software uses Firebird as the database
engine, does that use one of your licenses as well? These issues are
all present in your desired approach.

** There is an implementation limit of 1024 connections from memory.