Consultor Eletrônico



Kbase P42696: How to troubleshoot the Progress error 1461 with Oracle DataServer?
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   10/3/2006
Status: Verified

GOAL:

How to troubleshoot the Progress error 1461 with Oracle DataServer?

GOAL:

How to identify problems when Progress error 1461 is received by Oracle DataServer?

GOAL:

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

FACT(s) (Environment):

Oracle DataServer

FIX:

In general, there are a few things you can try.

1- Run the verify schema option in the DataServer->ORACLE Utilities menu and see what the differences are.

Type the table name and the owner in the Pre-selection criteria screen. If you have selected the 'Verify only objects that currently exist in the schema holder' and the query comes back without results, then we could not find the table as defined in the schema holder (owner, foreign name). If you unselect the check box and try again, verify if you can find it. If you can, something in the schema holder is not right for the table definitions itself (and not the fields).

2 - Connect to the DataServer with -Dsrv qt_debug,verbose and generate the error 1461. Look at the dataserv.lg file. Search for the SELECT statement
that corresponds to the table you got the error for.

If you see only one call to odsc right after the SELECT, the problem is likely with the table part of the definitions (like foreign-name, owner or something that prevents us from finding the table). If you see more calls to odsc and calls to odefin, then it means we found the table, and the problem is likely with the field referred in the error message.

3 - Create an empty Progress db, create a schema image for the Oracle instance and update it, loading the definitions from the table you are getting the message for. Dump the .df and compare with the one you loaded.

Check for differences.

Data type, owner, foreign name, field size, the foreign position differences are some examples of things that can generate this error.

4 - Was there quotes used in the SQL script around object names?
By default, ORACLE is not case-sensitive on object names, storing them in uppercase in the data dictionary. The use of double quotes in the table / column name will create a case sensitive object name. Therefore, these tables / indexes / columns must also be referenced with double quotes. Any attempt to reference that object without the double quotes and the same case, will fail with error 1461.