Consultor Eletrônico



Kbase 21003: Updating Schema Holder and Getting Unexpected Error 76
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   16/10/2008
Status: Unverified

FACT(s) (Environment):

Oracle DataServer
Progress 8.x
Progress 9.x

SYMPTOM(s):

** Invalid character in numeric input <character>. (76)

** Invalid character in numeric input. (76)

Error 76 is encountered when pulling a table from an ORACLE into the schema holder

When creating Oracle tables, there are single quotes, spaces and
line-feed characters in the create table statement. For example:

CREATE TABLE TEST (TESTFIELD NUMBER(5,0) DEFAULT 0
,
NUMCOL NUMBER(5,0) DEFAULT 1
NOT NULL,
NAME VARCHAR(25));


has a linefeed for each DEFAULT, and also a space before NOT NULL for
the NUMCOL field.

CAUSE:

The ORACLE database assigns the default length/value on all the characters in the default; including the single quotes, spaces and line-feed character following the default value.

In this example,
CREATE TABLE TEST (TESTFIELD NUMBER(5,0) DEFAULT 0
,
NUMCOL NUMBER(5,0) DEFAULT 1
NOT NULL,
NAME VARCHAR(25));

has a linefeed for each DEFAULT, and also a space before NOT NULL for the NUMCOL field.

As those fields are translated as INTEGER field on the Progress side, the space and new-line characters are not permitted in the initial value, thus causing error 76.

FIX:

Do the following:

1. Use the 'ALTER TABLE' command in Oracle to suppress new-line and space characters on every column. For example:

ALTER TABLE table_name MODIFY(column_name DEFAULT value);

where value is the same default value defined previously, without any space or new-line character after it.

2. Next, pull the table definitions again into the schema holder.