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.