![]() | ![]() Products ![]() ![]() ![]() ![]() |
Home » Technical Support » DBISAM Technical Support » Support Forums » DBISAM General » View Thread |
Messages 1 to 5 of 5 total |
![]() |
Tue, Nov 30 2010 2:57 AM | Permanent Link |
Petrus van Breda | I upgraded an application from version 4.27 to 4.30 and all worked fine. The client had a DBSys Version 4.27 and run it on the data to rebuild indexes and now some blob fields seems to be corrupted. He then run 4.30 again.
A few questions are: Is there a way to fix this? If not how can I pick up which fields is corrupted? Thanks |
Tue, Nov 30 2010 5:59 AM | Permanent Link |
Jan Ferguson Data Software Solutions, Inc. ![]() | Petrus,
DBISAM 4.28 introduced a new design for the BLOB reading/writing that is not compatible with 4.27 or earlier. Therefore, it is extremely important that you or your clients do not mix any DBISAM 4.28 or higher client applications (including DBSys) with DBISAM 4.27 or earlier client applications (including DBSys). Mixing the two versions can cause improper truncation of BLOB data, and that includes using a 4.27 client application on any data that has been updated by DBISAM 4.28 or higher. The issue is that 4.27 and earlier versions recylcle BLOB blocks on a per-block basis, whereas 4.28 and higher versions recycle BLOB blocks on a per-row basis. This is why I never give the client DBSys because they can reek havoc on your databases with it if they don't know what they are doing. In your case, they may have known what they were doing but this change in the structure regarding BLOBs from v4.28 onward is what caused the issue. -- Jan Ferguson [Team Elevate] Petrus van Breda wrote: > I upgraded an application from version 4.27 to 4.30 and all worked > fine. The client had a DBSys Version 4.27 and run it on the data to > rebuild indexes and now some blob fields seems to be corrupted. He > then run 4.30 again. > > A few questions are: > > Is there a way to fix this? > If not how can I pick up which fields is corrupted? > > > Thanks |
Tue, Nov 30 2010 7:05 AM | Permanent Link |
Petrus van Breda | Hi Jan
Thank you for the reply. Is there a way I can interigate the data and see which blobs is corrupted. I have a backup from which I might be able to restore, but need to find the ones that is corrupted. I would like any suggestions in doing this. Thanks Petrus "J. B. Ferguson" wrote: Petrus, DBISAM 4.28 introduced a new design for the BLOB reading/writing that is not compatible with 4.27 or earlier. Therefore, it is extremely important that you or your clients do not mix any DBISAM 4.28 or higher client applications (including DBSys) with DBISAM 4.27 or earlier client applications (including DBSys). Mixing the two versions can cause improper truncation of BLOB data, and that includes using a 4.27 client application on any data that has been updated by DBISAM 4.28 or higher. The issue is that 4.27 and earlier versions recylcle BLOB blocks on a per-block basis, whereas 4.28 and higher versions recycle BLOB blocks on a per-row basis. This is why I never give the client DBSys because they can reek havoc on your databases with it if they don't know what they are doing. In your case, they may have known what they were doing but this change in the structure regarding BLOBs from v4.28 onward is what caused the issue. -- Jan Ferguson [Team Elevate] Petrus van Breda wrote: > I upgraded an application from version 4.27 to 4.30 and all worked > fine. The client had a DBSys Version 4.27 and run it on the data to > rebuild indexes and now some blob fields seems to be corrupted. He > then run 4.30 again. > > A few questions are: > > Is there a way to fix this? > If not how can I pick up which fields is corrupted? > > > Thanks |
Tue, Nov 30 2010 9:33 PM | Permanent Link |
Jan Ferguson Data Software Solutions, Inc. ![]() | Petrus,
There is no way that *I* am aware of. Tim has ways he can diagnose and look into data that we mere mortals don't have. Unfortunately, I have no suggestions on how you can find any corrupted BLOB records. If you do have a backup I would try to restore that and then upgrade all the data to at least v4.28 (I always recommend the most recent version however) and not worry about it any more. -- Jan Petrus van Breda wrote: > Hi Jan > > Thank you for the reply. Is there a way I can interigate the data and > see which blobs is corrupted. I have a backup from which I might be > able to restore, but need to find the ones that is corrupted. I would > like any suggestions in doing this. > > Thanks > > Petrus |
Wed, Dec 1 2010 1:06 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. ![]() | Petrus,
<< Thank you for the reply. Is there a way I can interigate the data and see which blobs is corrupted. I have a backup from which I might be able to restore, but need to find the ones that is corrupted. I would like any suggestions in doing this. >> You can try running a repair on the table using 4.30, but it may not be able to recover BLOBs that are already corrupted. Running a repair on a table using a version prior to 4.28 is one of the worst things you could do to a 4.28+ modified table. -- Tim Young Elevate Software www.elevatesoft.com |
This web page was last updated on Wednesday, August 14, 2024 at 03:12 PM | Privacy Policy![]() © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? ![]() |