Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 6 of 6 total
Thread Error 15002 - can't delete
Thu, Dec 4 2008 7:15 AMPermanent Link

Marc
Hi,

Running DBISAM 4.25 build 4. Am using local tables only not C/S

I've got the error uncompressing data 15002 on a handful of records in a table. I can
iterate through the table and find the records (by the exception error), but can't delete
them. The delete generates it's own exception and fails.

I have tried like this:

    For a:=1 to RecordCount do
    begin
         //check all fields are readable
         for b:=1 to fieldcount do
         begin
          try
            st:=fieldbyname(fields[b-1].fieldname).asstring;
          except
           error:=true;
          edit;
         end;
         
         if Error then
         begin
          try
           delete;
          except
           //EXCEPTION occurs here trying to delete the record, with the same 15002 error
          end;
        end
        else Next;
    end;


How can I delete the duff records?

Thanks
Thu, Dec 4 2008 9:17 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Marc


First try the simplest thing - repair the table. If that doesn't work can you delete in SQL and if not then just reverse your logic and copy the good records to a new table. It'll take longer but it will work.

Roy Lambert [Team Elevate]
Thu, Dec 4 2008 9:38 AMPermanent Link

Marc
Thanks Roy.

Tried Repair Table first - it doesn't actually detect this kind of data corruption.

Good idea about copying out all the good records, but as there are many thousands of them
I'm hoping Tim might know a way to delete the duff ones. Smile
Thu, Dec 4 2008 3:36 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Marc,

<< I've got the error uncompressing data 15002 on a handful of records in a
table. I can iterate through the table and find the records (by the
exception error), but can't delete them. The delete generates it's own
exception and fails. >>

Are you using compressed BLOB fields ?  If so, then the only way to get them
deleted is to send me the table.   I'll have to manually remove them.

--
Tim Young
Elevate Software
www.elevatesoft.com

Thu, Dec 4 2008 4:21 PMPermanent Link

Marc
Yes I'm using compressed blobs. Is this a known bug with using them?

I can send the tables I have here to you, but where the corruption occurs on a customers
site I'm not going to be able to. Is there definitely no other way to delete them? As I
understand OptimizeTable wont work either if a corrupt record exists?

Thanks for your help
Mon, Dec 8 2008 12:45 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Marc,

<< Yes I'm using compressed blobs. Is this a known bug with using them? >>

No, but if the table becomes corrupted, then it is much harder to recover
compressed BLOBs because the corruption messes up the compression so that
any decompress operation fails.

<< I can send the tables I have here to you, but where the corruption occurs
on a customers site I'm not going to be able to. Is there definitely no
other way to delete them? >>

Unfortunately, no, they have to be manually deleted in such a case.

<< As I understand OptimizeTable wont work either if a corrupt record
exists? >>

Yes, that is correct.

--
Tim Young
Elevate Software
www.elevatesoft.com

Image