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