Kbase P115775: OpenEdge 10.1A - Any SQL-92 connection fails (OE Architect, sqlexp, ODBC) with errors 8842 796
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  03/03/2009 |
|
Status: Verified
SYMPTOM(s):
Any SQL-92 connection fails (OE Architect, sqlexp, ODBC, JDBC) with errors 8842 796
SQL-92 (ODBC) connection just hangs
Error connecting to database via ODBC.
[DataDirect][ODBC OPENEDGE Wire Protocol driver] [OpenEdge] Broker rejects connection.
Broker rejects connection error for SQL-92 connections
Cannot make a SQL-92 connection to database
Could not spawn a SQL server. (8842)
Error writing msg, socket=<n> errno=<n> usernum=<n> disconnected. (796)
Using modified DLC/ startup.pf for startup parameters
Cannot connect to database using ODBC or JDBC
Can make 4GL client-server connections to database
There are enough Remote Servers (-Mn) still available in Inactive status for _sqlsrv2
FACT(s) (Environment):
OpenEdge 10.1A
All Supported Operating Systems
CAUSE:
Bug# OE00126889
CAUSE:
As new feature of OpenEdge version 10.1A the SQL engine reads the startup parameters from startup.pf located within the Progress installation directory (ie $DLC/startup.pf). When the SQL engine finds any non-SQL parameters in the .pf file, for example, the SQL engine does not understand -E, -debugalert, -noinactiveidx as SQLSRV2 remote server startup parameters, the OESQL server exits abruptly after it is spawned. From the point of view of the client, this looks like a hang.
FIX:
This issue has been addressed in OpenEdge 10.1A02 and 10.1B where all processing of the startup.pf file at startup has been removed for remote servers, since the broker reads this file and parses relevant options along to the _sqlsrv2 command line.
Workaround:
Leave the default DLC/startup.pf as it is when first installed and instead specify the correct .pf on the command line when starting the broker or any client sessions.
For example:
The default startup.pf located within the Progress installation directory defined by the DLC environment variable must not contain any extraneous (ie other than the Progress default) parameters including:
-E
-s
-nb
-zn
-NL
-lng
-rereadnolock
-noinactiveidx
-debugalert
-yr4def
If the database broker needs to be started with specific I18N database parameters, then specify the correct .pf on the command line when starting the broker, example:
$ proserve -pf $DLC/czech.pf
WHERE: czech.pf has been copied from $DLC/prolang/cze/czech.pf
For clients, create and use separate client session startup parameter file only for the 4GL clients.
Example: prowin32 dbname -pf my4gl.pf
-cpinternal ISO8859-1
-cpstream ISO8859-1
-cpcoll Basic
-cpcase Basic
-d dmy
-numsep 44
-numdec 46
-debugalert
-E
-noinactiveidx
-rereadnolock
(.. etc)