Consultor Eletrônico



Kbase P4322: Error 1461 after changing the ODBC DSN
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   01/03/2005
Status: Unverified

FACT(s) (Environment):

MS SQL DataServer
ODBC DataServer

SYMPTOM(s):

Error (1461) after changing the ODBC DSN

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

The ODBC DSN points to another foreign database which contains the same tables

Only the database name is different

Keeping the same schema holder, but the ODBC DSN is different

CAUSE:

When the definitions are pulled from the foreign database through the ODBC or MS SQL Server DataServer, the actual database name is stored in the schema holder, so simply changing the database name in the DataSource configuration will not be enough.

You also face the same problem if you have made a copy of the foreign database, and want to keep different environments (testing and production, for example) with separate schema holders.


FIX:

This solution assumes that only the foreign database name has changed.
If there were actual changes to the table definitions, you will need to re-pull the schema definitions into the schema holder.

1) Dump the schema holder definitions: from Data Administration.
Make sure the schema holder is the working database, and select
Admin > Dump Data and Definitions > Data Definitions (.df file).

2) Open the file in any editor (Procedure Editor, for instance).
The foreign database name is defined as QUALIFIER in the .df file, for each table in the schema holder.

3) Change the QUALIFIER value to the database name. (Be careful when changing the .df file.)

For instance, if the old database name is TEST and the new database name is PROD, replace the line:

QUALIFIER "test"

with

QUALIFIER "prod".


4) Then you will need to load the changed .df into the schema holder.
Make a backup of the original schema holder, and recreate it so you can load the .df file.