Consultor Eletrônico



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.