Consultor Eletrônico



Kbase P47292: Error 7864 with SQL-Width and metaschema fields.
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   2/11/2008
Status: Verified

FACT(s) (Environment):

Progress 9.x
All Supported Operating Systems

SYMPTOM(s):

Getting error 7864 with SQL-Width and metaschema fields

Column in table has value exceeding its max length or precision (7864)

java.sql.SQLException: [JDBC Progress Driver]:Column _Connect-Device in table PUB._Connect has value exceeding its max length or precision.

[MERANT][ODBC PROGRESS driver][PROGRESS]Column _Connect-Device in table PUB._Connect has value exceeding its max length or precision.
(#-210012)

Errors occur when trying to select records from the _Connect Virtual System Table (VST)

Using: SELECT "_connect_0"."_Connect-Device" FROM PUB."_connect" "_connect_0";

Connecting to a Progress database via JDBC or ODBC driver.

CAUSE:

Bug# OE00089451

CAUSE:

The error happens because the VST data is actually larger than its SQL width. As VST's are part of the Progress metaschema, their metadata cannot be modified.

FIX:

Upgrade to Progress 9.1D07 or later.
OpenEdge 10.1A or later.
User will be able to change the SQL width (_width) of a VST column since only SQL is affected, and SQL supports a changed _width.

The modification of the field's SQL width for VST table is still disabled in the Data Dictionary, but it can be done running a 4GL program like the following by resetting the "_Width" value of "_Field" table:

**************************************************************************
FOR EACH _Field WHERE _Field-Name BEGINS "_Connect" AND _Data-Type MATCHES "character":
DISPLAY _Field-Name _Width _Data-Type.
PAUSE.
SET _Width = _Width + 1.
PAUSE.
DISPLAY _Field-Name _Width.
END.
**************************************************************************

The change of the VST table field's SQL width can always be checked by viewing it through Data Dictionary.