V4RB Windows VarChar Error 351

Erich Geiersberger erichg at mcmm.com
Sun Feb 1 15:27:13 CST 2004


>Hi Ruslan,
>
>I've been struggling all week trying to solve these issues I'm having with
>sending data over TCP/IP across to my server program. Some of the problems
>appeared to be related to windows double-sending pockets across so I have
>managed to solve these.
>
>The latest issue, though, is still related to error 351 which is a varchar
>error. All I am sending in each packet is a single record as a text field.
>This record contains a mix of string, short, varchar fields, etc.
>
>Sending from Mac to Mac - no problem. The program comes up with no errors at
>all and works consistently over 100's of records. Working directly on my PC
>without sending to the server works with no problems. The records save with
>no errors at all.
>
>But, sending from either Mac to PC or PC to PC using the same program and
>the same dataset, after a few records go across, the server program brings
>up an error 351 with the assessment database being corrupt. This is not on a
>single record - it is on a random record and can occur at any time - after
>10 records have been sent across or maybe 15 or whatever. I cannot see any
>reason for this to occur at all. I am using the same download for V4RB for
>both Mac and Windows. All I am doing is getting the text to go into the
>field, setting the string with that text and adding or updating the record
>depending on whether I am adding or editing.
>
>I'm not sure where to go from here. I have checked every record as it is
>going through and seen what is going in the assessments database varchar
>field (there is only 1 varchar field in this database) and they are all
>perfectly fine. Yet the database continues to corrupt. I have tried this
>with the standard 1.10 plugin, the windows 1.10 plugin and the 1.9 plugin as
>well. I feel that there is a problem somewhere in the varchar field in the
>windows version as this problem does not occur at all in the Macintosh
>version.
>
>Any help would be much appreciated.

We have made Client-Server test during the last weeks with V4MD and 
we also had problems with this message. While I am not sure if it 
works in the same way with V4RB, here are some ideas:

Error 351 occured quite often, when a client using read locks wrote 
to a record and tried to read from the same table immediately 
afterwards.

This might also be related to the fact that our database gets flushed 
after each write.

The server debug window showed an error 351 "VarChar Field corrupted" 
immediately followed by a "error 0, no error". After a first 
occurance of that error, it happened more often, but went away after 
a server restart.

I have checked my database a couple of times and found NO errors in 
it when that happened.

After setting most of our cursors to no read locks, it occured a lot 
less often.

I am not absoultely sure what condition makes it happen, but I am 
quite sure that the message is wrong. It seemed to happen when we 
tried to read from a freshly edited record while it got flushed to 
disk.

HTH
Erich



More information about the Valentina mailing list