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.