Consultor Eletrônico



Kbase P174990: Error 1896 when running r-code against a new schema holder generated with a new ODBC driver
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   10/8/2010
Status: Unverified

SYMPTOM(s):

Error 1896 when running r-code against a new schema holder generated with a new ODBC driver

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

R-code has not been re-compiled

Original schema holder generated using SQL Server ODBC driver version 2000.85.1132.00

New schema holder generated using SQL Native Client driver version 2005.90.4035.00

Field definitions stored in the .DF differ

Original schema holder:

/* SQL Server ODBC driver */
ADD FIELD "longfield" OF "nvartest" AS character
FORMAT "x(320)"
INITIAL ?
POSITION 3
ORDER 5030
FOREIGN-POS 3
FOREIGN-NAME "longfield"
FOREIGN-TYPE "NLONGVARCHAR"
DSRVR-PRECISION 1073741823
DSRVR-SCALE 0
DSRVR-LENGTH 1073741823
DSRVR-FLDMISC 0
FIELD-MISC22 "Y"
QUOTED-NAME """longfield"""
MISC-PROPERTIES ""

New schema holder:

/* SQL Native Client */
ADD FIELD "longfield" OF "nvartest" AS character
FORMAT "x(320)"
INITIAL ?
POSITION 3
LENGTH 32000
ORDER 5030
FOREIGN-POS 3
FOREIGN-NAME "longfield"
FOREIGN-TYPE "NVARCHAR"
DSRVR-PRECISION 16000
DSRVR-SCALE 0
DSRVR-LENGTH 32000
DSRVR-FLDMISC 0
FIELD-MISC22 "Y"
QUOTED-NAME """longfield"""
MISC-PROPERTIES ""

FACT(s) (Environment):

Data type of the field in MS SQL Server is NVARCHAR(MAX)
OpenEdge DataServer Category: SQL Server
OpenEdge 10.1x
OpenEdge 10.2x
Windows

CAUSE:

This is expected behaviour. MAX columns in MS SQL Server are reported differently with SQL Native Client (SQLNCLI.DLL) driver and other ODBC drivers. As a result of the change, the values of _Field._Decimals and _Field._Fld-stdtype in the metaschema of the database are changed, causing the CRC to be recalculated and therefore the 1896 error.

FIX:

Recompile the code against the new schema holder