Consultor Eletrônico



Kbase 20415: Error: Exceeding Permissible Number of Connections (8933) - Setup a secondary broker
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   20/05/2009
Status: Verified

SYMPTOM(s):

Exceeding permissible number of connections

Exceeding permissible number of connections (8933)

Exceeding permissible number of connections (7625)

Exceeding permissible number of connections (7492)

[JDBC Progress Driver]:Exceeding permissible number of connections

[DataDirect Technology][ODBC Progress drive][Progress] Exceeding permissible number of connection

[DataDirect][ODBC OpenEdge Driver][OPENEDGE] Exceeding permissible number of connections.

SQLSTATE=S1000
[DataDirect][ODBC OpenEdge Driver][OPENEDGE] Exceeding permissible number of connections.

No SQL servers are available. Try again later. (8839)

FACT(s) (Environment):

Increasing the -n (number of users) does not help
Increasing the -Ma (number of clients per server) does not help
Cannot connect an ODBC / JDBC client
Cannot connect a SQL92 client
Only 1 broker is configured for the database
Progress 9.x
OpenEdge 10.x
All Supported Operating Systems

CAUSE:

Before Progress version 9.1B, each SQL client has a one to one correspondence to the SQL servers. This means that every SQL client requires it own dedicated server to connect to the database. If a Secondary login broker is not setup, the SQL clients will encounter contention for the servers by the 4GL clients connecting to the database.

Beginning with version 9.1B and later, SQL-92 servers have the ability to continue running after a client has disconnected. The behavior is meant to improve connection speed to the database and startup times of the _sqlsrv2 executable within the Operating System. This feature is available only for the primary broker that is started for servicing the database. Although additional brokers (secondary brokers see documentation on the -m3 startup parameter) may be started for the database and SQL-92 clients may connect to any broker, the "polling" feature of the SQL servers is active only for the primary broker. As of 9.1D this is no longer the case. This feature is available for all brokers whether they be primary or secondary.

Any SQL-92 client that attempts to connect to the primary login broker is directed to an already started and currently available SQL-92 server. If there are no available servers, new SQL-92 servers are spawned to service SQL-92 client connection requests (up to the limit of servers explicitly set with the -Mpb or -Mn parameters, depending on whether or not multiple brokers are started for the database). If only one broker is started for the database and SQL-92 clients connect before any 4GL clients connect, a situation can occur where it is not possible to start a server to service 4GL clients remotely.

Starting in Progress version 9.1C, SQL-92 Server having a one to one correspondence is no longer a limitation. This means that every SQL client no longer requires it own dedicated server to connect to the database.

Secondary login broker allows a better control of number of 4GL and SQL-92 clients connecting to the database.

FIX:

Start a secondary login broker for the database. If using versions of Progress prior to 9.1D, specify the first broker for SQL-92 clients and the other brokers for 4GL clients. See solution: 19968, "How to set up a secondary login broker to attend SQL-92 connections for Progress 9.1C and below". If using 9.1D or later, there is no longer a need for the primary broker to be a SQL-92 Broker. See solution: P7843, "How to set up a secondary login broker for SQL-92 connections for Progress 9.1D and above" to obtain the necessary parameters to start a secondary login broker. The major distinction between this solution and the other two solutions is the imperative need to have the SQL Broker be the primary login broker for versions of Progress prior to 9.1D.