Close menu

Eloquence license server

As of A.04.20 SQL/R can use an Eloquence B.08.40 license server as an alternative to installing a system specific license key. It enables the option of "floating" licenses that are not host specific. This is useful in flexible environments where systems may change roles or are only assigned temporarily, such as a cloud or container based environments.

The license server maintains a list of licenses, grouped into different pools (lists), specific to a task or environment. A server process may request a license for a specific system or task and is then provided with a license which includes the configured functionality and number of users. This license is reserved for this system and enables the respective functionality, similarly to a file based license key. A license is released for other use when it is no longer used. No partial licenses are maintained, user specific counts are handled by the individual server process.

To use the license server functionality the Eloquence eloqld server process must be started on the license server and configured with a list of licenses, separated in groups.

The license server is specified in the license file instead of a license key. Also a group is specified to draw the license from. An example would be a test system or a production system.

Licenses keys for use with a license server are not system specific (dependent on a SWID) but are specific to a license server. They can only be used with the designated license server. A server based license may be requested by any system but a separate license is required for each concurrent system.

For simplicity, system specific license (dependent on a SWID) may also be used with a license server. These behave the same as when used in a license file and can only be used on the specified system.

SQL/R license file

The SQL/R license file may be used to specify a license server as an alternative to using a license key. The license server is then connected to obtain the license.

The following configuration options are supported:

server=host[:service]

The server config option specifies the host name or IP address and (optional) the service name or port number that is used by the license server.

server=localhost
server=example.marxmeier.com:8891
The first example indicates the license server runs on the local system. It uses the default service name eloqld. The second example specifies a system name and port number.

secret=password

The secret config item specifies the password that is used by the license server. It must be specified if the server process uses a password. The license server connection will fail if the password does not match.

secret=aeQu1iev

pool=name

The pool config item defines the license pool that is used. If not present it defaults to the host name.

pool=test


A hash sign (#) at the beginning of the line considered a comment and is ignored. The current implementation does not allow for spaces around the equal sign.

The chklic utility may be used to verify the information in the license file. It will request and then immediately release a license and report the results.

$ chklic

SQL/R CHKLIC A.04.20    (C) Copyright 1992-2025 Marxmeier Software AG

Checking license ...
License file is "/etc/opt/sqlr/4.2/license"

System ID:
251096700793713

License server configured ...
>> server=example.marxmeier.com
>> secret=aeQu1iev
>> pool=test

** Summary **
License type              : Temporary
License version           : A.04.20 27626 1754408392
License name              : pool#1
Option SQLR               : Available
Option ODBC               : Available
Number of users           : Unlimited
License expires in        : 138 day(s)

...

Possible problems include a bad or non-accessible server, a bad password or a license not available. An error message as shown below is returned.

Unable to connect [111] Connection refused
[lconn] Unable to connect license server example:9999
Invalid license server address or inaccessible server
[lconn] ERR: Server secret not matching
A missing or bad password
Q1: [lreq] ERR: No license available (#0,no pool)
The specified license pool does not exist
Q1: [lreq] ERR: No license available (15,in use)
The license is currently in use by another system