Kbase P43674: ORA-1003 occurs when creating a new record against a recentl
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  02/10/2003 |
|
Status: Verified
FACT(s) (Environment):
Progress 9.1D
FACT(s) (Environment):
Oracle DataServer
SYMPTOM(s):
ORA-1003 occurs when trying to create a new record against a recently modified table
The table has columns dropped
ORA-1003 (no statement parsed)
ORACLE error -911 see "ORACLE Error Messages and Codes Manual". (1252)
** invalid character
SELECT <TABLE_NAME>_V## _seq.nextval FROM sys.dual
in dataserv.lg
Trailing space at the end of the view name within the generated delta.df file for schema holder, the delta.df was created by delta SQL progress to Oracle utility
Example: "CUSTOMER_V## "
CHANGE:
Table was recently modified and columns dropped by using deltaSQL Progress to ORACLE utility
CAUSE:
There is an extra trailing space after the FOREIGN-NAME of the table in the .df file generated by the delta sql utility of the oracle dataserver.
Example DF:
"CUSTOMER_V## " <<< Note the extra space!
When column is dropped and delta SQL utility is used to migrate the changes to schema holder and Oracle, the delta SQL utility creats a view in Oracle and the generated delta df changes FOREIGN-NAME of the affected table to "<TABLE_NAME>_V##", data server then strips off the extra four characters from the right hand side of the FOREIGN_NAME (<TABEL_NAME>_V##) to resolve table name for the value of progress_recid (<TABLE_NAME>_V## --> <TABLE_NAME>).
Because delta SQL generates extra space in FOREIGN_NAME ("<TABLE_NAME_V## "), 4 characters are stripped at incorrect position (<TABLE_NAME>_V## --><TABLE_NAME>_), thus incorrect <TABLE_NAME>_ is past to select statement, since Oracle does not have <TABLE_NAME>_ as a table, it results in Oracle error 1003.
FIX:
Upgrade to OpenEdge 10.0A Oracle DataServer. In OpenEdge 10, Progress no longer creates views when a column is dropped/removed, thus avoid the issue. A DROP COLUMN statement is used instead.