Kbase P114313: The Progress client session crashes with error (11206) when assigning a CHAR value to a CLOB databas
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  15/10/2008 |
|
Status: Unverified
FACT(s) (Environment):
OpenEdge 10.x
SYMPTOM(s):
The Progress client session crashes with error (11206) when assigning a CHAR value to a CLOB database column
SYSTEM ERROR: bfdiscon: rmrep failed. Dbkey <record-number> for <table>, error <error-number> (23) (11206)
SYSTEM ERROR: bfdiscon: rmrep failed. Dbkey <record-number> for <table>, error -1223 (23) (11206)
The size of the CHARACTER field value to be assigned to the CLOB column exceeds 31KBytes
Progress generates a GPF
CAUSE:
When trying to assign a LARGE character column value to a CLOB database column, the lob locator field made the record exceed the maximum record size.
FIX:
Upgrade to 10.1B; in this version, the client will issue an error message and stop gracefully, rather than crash.
Alternatively, copy the value of the LARGE db field (the one to be assigned to the CLOB db column) into a local character variable and then empty the LARGE db field before assigning the value of the local character variable to the CLOB database column. e.g.:
DEFINE VARIABLE vc_large_text AS CHARACTER NO-UNDO.
FIND FIRST table-name EXCLUSIVE-LOCK WHERE LENGTH(table-name.large-db-column) >= 31KBytes NO-ERROR.
IF AVAILABLE table-name THEN
DO:
vc_large_text = table-name.large-db-column.
table-name.large-db-column = ?.
table-name.CLOB-column = vc_large_text.
END.