Consultor Eletrônico



Kbase P71899: When using delta.sql Progress to Oracle, RAW field is migrated as VARCHAR2 in the delta.sql file
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   12/16/2004
Status: Unverified

FACT(s) (Environment):

Progress 9.1D
Oracle DataServer
Oracle 8.1.7

SYMPTOM(s):

RAW fields are not properly interpreted into the delta.sql and schema holder .df files generated by the Data Administration utility "Generate delta.sql Progress to Oracle"

Getting error 1461 when running a query against tables containing RAW fields

Schema holder does not match database schema -- file field . (1461)

The table in the delta.df file contains a RAW field

The RAW field in the delta.sql file does not contain any data type

RAW data type field is migrated as VARCHAR2 into the schema holder .df file

The INITIAL value of the RAW field in the schema holder .df file is "" instead of "?"

CAUSE:

This is a known issue being investigated by Development.

First of all, the Data Administration utility "Generate delta.sql Progress to Oracle" omits to specify the LONG RAW data type in the delta.sql file when interpreting the RAW data type field from the delta.df.

It also generates 2 wrong information in the schema holder .df file.
1. The INITIAL value is set to "" instead of "?"
2. The FOREIGN-TYPE is defined as VARCHAR2 instead of LONGRAW


FIX:

Modify the content of the schema holder .df and .sql files generated by the Data Administration utility "Generate delta.sql Progress to Oracle" as follow.

- Content of the .sql file:

CREATE TABLE table (
/* .... */
RawField LONG RAW <----- Add the LONG RAW data type


- Content of the .df file:

ADD FIELD "RawField" OF "Table" AS raw
DESCRIPTION ""
FORMAT "x(16)"
INITIAL ? <----------- instead of INITIAL ""
LABEL ""
POSITION 4
COLUMN-LABEL "Label"
HELP ""
ORDER 60
CASE-SENSITIVE
FOREIGN-POS 6
FOREIGN-NAME "FIELDNAME"
FOREIGN-TYPE "LONGRAW" <--------- Instead of "VARCHAR2"
FIELD-MISC13 16
FIELD-MISC14 1