Kbase P97012: Error 6228 occurs during a schema pull when data types are changed with existing objects within Fori
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  10/11/2007 |
|
Status: Verified
FACT(s) (Environment):
MS SQL DataServer
ODBC DataServer
MS SQL
Progress 8.x
Progress 9.x
SYMPTOM(s):
Error 6228 occurs during a schema pull
SYSTEM ERROR: cnv_mtrx: Cannot map SQL <sql-type> to PROGRESS <progress-type>. (6228)
SYSTEM ERROR: cnv_mtrx: Cannot map SQL 35 to PROGRESS 4. (6228)
Error only occurs against some tables during the pull
Error only occurs when table exist within schema holder before pull
Error does not occur when table does not exist within schema holder before pull
CHANGE:
Schema updates were made to table within SQL Server
CAUSE:
The issue is specific to a data type change within SQL Server during the schema updates to an existing field/objects within table.
For example
Before the pull, SQL Server schema is this;
Table A;
Field 1 [char]
Field 2 [char]
After pull, SQL Server schema is this;
Table A;
Field 1 [char]
Field 2 [integer]
Notice that the physical data-type for Field 2 was changed from char to integer.
If the data type is changed within SQL Server and the schema holder already has information of that object/field as a FOREIGN-TYPE "CHAR", then it will not be able to pull any information for the new data type as FOREIGN-TYPE "INTEGER".
Please note this does not only apply to these data-types (CHAR and INT), it's any data type change. The schema holder stores existing information in a buffer and when the FOREIGN-TYPE information does not match, the pull will fail.
FIX:
Upgrade to R10.
If upgrading is not possible than a workaround is to drop the object (in this case the field) in the schema holder and re-pull the object.
Please note that a new pull is only possible if no customizations have been made to the existing schema holder.