Icon View Incident Report

Minor Minor
Reported By: Andy Grik
Reported On: 2/4/2005
For: Version 4.16 Build 1
# 1962 Loading a Stream with Larger String Fields than the Target Table Corrupts Loading Process

In rebuilding a local table from a remote server I have the following process.

1) Issue a select statement on the remote server.
2) Issue a SaveToStream command on the query component.
3) Issue a LoadFromStream command on the table component of the local table to populate.

I get a duplicate primary key violation.

I took off the primary/unique key just to get the data to load to inspect. There should have been 98 rows in the stream. I stopped the process after over 500 rows had been added.

I went and checked the select statment and it returns 98 rows as expected. So I have narrowed down the problem to be in either the SaveToStream or the LoadFromStream routines.

Comments Comments and Workarounds
The problem was that the string fields in the source table that generated the stream were much larger than the same string fields in the target table, and the LoadFromStream method was not handling this properly. The workaround is to make sure that the two table structures match or the destination table has larger string fields, not smaller string fields.

Resolution Resolution
Fixed Problem on 2/10/2005 in version 4.17 build 1