Kbase P114436: Intermittent error 705 and 6142 with SQL Server DataServer
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  4/14/2009 |
|
Status: Verified
SYMPTOM(s):
Intermittent error 705 and 6142 with SQL Server DataServer
** There is no server active for database <database> on -H <hostname> -S <servicename>. (704)
Failed to connect to the <db-type> database. (6142)
FACT(s) (Environment):
DataServers
UNIX
Windows NT 32 Intel/Windows 2000
After errors the next connection would succeed
A large number of brokers hosted on the machine (nine brokers, in this case)
Using _probrkr
Use pf file for connection
CAUSE:
_probrkr has a limitation in terms of the directory you run it out of. The problem is that the server writes out an external file with the port number which the broker then reads and returns to the client.
Two brokers should never be started in the same directory because they will both contend for the same file resource to read server responses from.
When there is only one broker per directory, spawning of the server and file I/O are effectively serialized. But if multiple servers are spawned for multiple brokers simultaneously, there will only be, at most, one file I/O winner. The other server is likely to be orphaned because one client for one broker will experience an "in-use" message trying to write to the port.
FIX:
Reduce the number of brokers to two - one for Oracle DataServer and the other one for the Microsoft SQL Server DataServer. Also, run the _probrkr broker on it's own working directory. The working directory for _probrkr is the current directory the broker is started from.