Consultor Eletrônico



Kbase P69967: SQL connection throws Memory violation (49) and brings down SQLSRV2 (2525)
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   11/11/2008
Status: Verified

SYMPTOM(s):

SQL connection throws Memory violation (49)

All SQL-92 clients are disconnected from remote server (2526)

SQLSRV2 server dies (2525)

SYSTEM ERROR: Memory violation. (49)

Disconnecting client 14 of dead server 1. (2526)

Disconnecting dead server 1. (2525)

PROGRESS stack trace
command line not initialized
dbut_uttrace()
dbExit()
drExitOnTerm()
_setitimer()
_sema_post()
_sema_post()
__1cJpsr_env_tJRDS_parse6M_i_()

FACT(s) (Environment):

Progress 9.1x
All Supported Operating Systems

CAUSE:

When a SQL keyword is unquoted in the query string, or any Table is specified more than once in a Query, the reference to that Table has to either be all double-quoted or they all have NOT to be double quoted.

SELECT address FROM PUB."customer", PUB."order" WHERE PUB."order"."cust-num" = PUB.customer."cust-num"; => Fails, because the first reference to "customer" table is double-quoted and the second is not double-quoted

CAUSE:

Bug# OE00101557

FIX:

Upgrage to OpenEdge 10.0B or later where the case sensitive string function has been enhanced.

Workaround:
Ensure that all SQL keywords, for example: ORDER, are quoted: PUB."order" and that every reference to any table that is referred to more than once in a query string is either always double-quoted, or never double-quoted.