Kbase P97144: Errors 2715, 2717, 4920, 4952 when using RAW-TRANSFER with Oracle DataServer
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  11/12/2009 |
|
Status: Unverified
SYMPTOM(s):
Errors 2715, 2717, 4920, 4952 when using RAW-TRANSFER with Oracle DataServer
ORACLE DataServer - Buffer Object RAW-TRANSFER() method errors
RAW-TRANSFER - from XXX buffer to YYY field fails with errors 2717 4920
Array subscript 0 column name missing. (2717)
Could not update target field in RAW-TRANSFER statement. (4920)
RAW-TRANSFER - from YYY field to XXX buffer fails with errors 2715 4952
Array subscript 0 is out of range. (2715)
Could not extract raw value from source field of RAW-TRANSFER. (4952)
The same RAW-TRANSFER code works against Progress database
FACT(s) (Environment):
All Supported Operating Systems
OpenEdge 10.0x
OpenEdge 10.1x
OpenEdge 10.2A
CAUSE:
This is a known issue. While using the raw-transfer() function, the column number to/from which field the data needs to be transferred was not being returned appropriately.
CAUSE:
Bug# OE00110472
FIX:
Upgrade to OpenEdge 10.2B where this issue has been addressed by correcting the column number to/from which field the data needs to be transferred. The extent variable value for the Oracle DB has also been modified to set it to 0, because in Oracle a table can contain only one column of type LONG/LONGRAW.
Workaround
Store the RAW image of a temp-table record which is a buffer-copy of the database record.
If the RAW binary data is needed to create a database record at a later stage, an additional BUFFER-COPY statement can be used.