Consultor Eletrônico



Kbase P75985: Test connect with SQL-89 client gives errors 1159,2904, and 1157
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   19/11/2008
Status: Verified

SYMPTOM(s):

Test connect with SQL-89 client gives errors

Server cannot find a free port for a TCP socket. (1159)

Unable to open network session layer. (2904)

Broker could not spawn a server. (1157)

Oibroker starts with no errors

Can telnet to oibroker port

Environment variables are set correctly

Running multiple databases on the system where the oibroker was started.

FACT(s) (Environment):

Progress 8.x
Progress 9.x
Windows

CAUSE:

The oidriver fails to start because the minport/maxport range of ports are all in use.

Remote connections to a database require servers that get spawned in the minport/maxport range specified on database startup. If no minport/maxport is specified at startup the default port range of 1024-2000 is used. In this case all of the ports in the default minport/maxport range (1024-2000) are used by the databases on the system. The oibroker starts okay on a port outside that range (that you specify), but the oidriver still tries to spawn within the default 1024-2000 range.

FIX:

1. Change the minport/maxport for all of the databases, giving each a different range beyond port 2000. This can be done with the database startup parameters -minport and -maxport.
2. Use the "via server" option in the ODBC Datasource. This will allow you to use an oibroker on a different system that has free ports in the 1024-2000 range.
a. Open the ODBC Data Source Administrator in Administrative Tools
b. Select the SQL-89 driver you are using
c. Choose the Database Options tab
d. In the Database Access Mode drop down, choose Via Server