Consultor Eletrônico



Kbase P100546: Error 1896 occurs when running uncompiled code against multiple databases in the same session
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   19/01/2010
Status: Verified

SYMPTOM(s):

Error 1896 occurs when running uncompiled code against multiple databases in the same session

** CRC for <filn> does not match CRC in <procedure>. Try recompiling. (1896)

Running the same code against different databases

No r-code files (.r) present

Disconnecting and reconnecting to the different databases within the same session

Database schemas are different

FACT(s) (Environment):

Progress 8.x
Progress 9.x
OpenEdge 10.x
All Supported Operating Systems
OpenEdge Category: Language (4GL/ABL)

CAUSE:

This is expected behavior.

For performance reasons the uncompiled code is only compiled and stored in memory the first time it is run. Subsequent runs will reuse the r-code as it is in memory. The r-code in memory will keep track of table CRCs just like a saved r-code file.

Therefore, if the procedure is run the first time against one database, and subsequent runs are done when connected to a database with a different schema, the CRC errors will occur.

FIX:

Use the COMPILE statement to force a recompile of the procedure in memory before RUNning it.