Consultor Eletrônico



Kbase P6504: Error 1415 when running ABL Code because of DISCONNECT not being effective
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   23/07/2010
Status: Verified

SYMPTOM(s):

4GL/ABL client getting error 1415 when trying to run a piece of 4GL/ABL code within an existing connection to a database.

The open database table is full, increase the -h parameter. (1415)

Many CONNECTs and DISCONNECTs within the application

FACT(s) (Environment):

Client is not making use of the -h parameter
All Supported Operating Systems
Progress/OpenEdge Product Family
OpenEdge Category: Language (4GL/ABL)

CAUSE:

As fully documented about the DISCONNECT statement, there are many reasons for the disconnection not to be effective.

For example:
1) DISCONNECT gets deferred if there is a transaction opened (the DISCONNECT statement appears to execute correctly, but under the table, PROGRESS defers the actual disconnection until the transaction finishes).
2) DISCONNECT gets deferred if there are any active .p files (i.e. .p files still on the execution stack) that refer to the database. Even though the DISCONNECT appears to execute correctly, and even though the CONNECTED built-in function returns FALSE, under the table the PROGRESS executable hangs on to the connection (and keeps the lock file in place) until the last .p that refers to the database
has returned.

FIX:

Increase the value of the client session parameter "-h". Its default value is 5 for versions 8.3x and 9.1x.