Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 10 of 17 total
Thread Backup creates files it can't restore?
Sun, Oct 21 2018 8:59 PMPermanent Link

Blake

I'm backing up and restoring files in my app, and have come across what seems to me to be a bizarre discrepancy. To wit, for some tables, BACKUP will create them but RESTORE will not be able to restore them. Here is code to demonstrate:

procedure TEZROMigrationForm.BackupBtnClick(Sender: TObject);
var B: Boolean;
   L: TStringList;
begin
  L := TStringList.Create;
  L.Add('customer');
  B := dbMFS.Backup('testbackup','EasyRO Backup',6,L);
  Alert(B); //Reports success! =)
  L.Free;
  end;

procedure TEZROMigrationForm.RestoreBtnClick(Sender: TObject);
var B: Boolean;
   L: TStringList;
begin
  L := TStringList.Create;
  L.Add('customer');
  B:=dbMFS.Restore('testbackup',L);
  Alert(B); //Reports failure. =(
  L.Free;
  end;

If, instead of "customer", I back up the "employee" table, all is well. In fact, of the 31 tables in my database, about 20 seem to backup okay, and the other ten do not.

How?
Sun, Oct 21 2018 9:27 PMPermanent Link

Raul

Globestar Systems

Team Elevate Team Elevate

On 10/21/2018 8:59 PM, Blake wrote:
> I'm backing up and restoring files in my app, and have come across what seems to me to be a bizarre discrepancy. To wit, for some tables, BACKUP will create them but RESTORE will not be able to restore them. Here is code to demonstrate:
>

What would be useful would be to know what are the messages that get
logged during backup and restore process.

Couple of things to try

1. if you use dbsys can you backup and restore the table(s) ?

2. have you run a repair on tables to make sure they are good to start
with ?

Raul
Tue, Oct 23 2018 12:26 AMPermanent Link

Blake

>>What would be useful would be to know what are the messages that get logged during backup and restore process.

Nothing during backup. During restore "An error occurred..."

Now, I have trouble with one of the tables, but I think it's a 11013 because of password protection. That's not true of the example here.

>>1. if you use dbsys can you backup and restore the table(s) ?

Yes!

>> 2. have you run a repair on tables to make sure they are good to start with ?

Yes. They are.
Tue, Oct 23 2018 8:49 AMPermanent Link

Raul

Globestar Systems

Team Elevate Team Elevate

On 10/23/2018 12:26 AM, Blake wrote:
>>> 1. if you use dbsys can you backup and restore the table(s) ?
>
> Yes!

This is rather weird.

DBSYS is just another delphi app and is calling exact same dbisam
functions so if that works then it's something with your code.

Any chance it's something as simple as not getting a write lock to the
table(s) you are restoring ?

Raul

Tue, Oct 23 2018 12:21 PMPermanent Link

Blake

>>Any chance it's something as simple as not getting a write lock to the table(s) you are restoring ?

I tried this morning pushing the Restore button first and it worked. I did the backup again, then tried to restore and it failed. I've shut down Delphi (and don't have the system utility up) but can't get it to restore.
Tue, Oct 23 2018 1:29 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Blake,

<< If, instead of "customer", I back up the "employee" table, all is well. In fact, of the 31 tables in my database, about 20 seem to backup okay, and the other ten do not. >>

Please email me a copy of your database (.zip please), and I'll take a look.  If you're getting an error during restoration, then there's an issue with the physical validity of the backup file, which is most likely caused by there being a problem writing the backup file to whatever medium it is being stored on.

Tim Young
Elevate Software
www.elevatesoft.com
Wed, Oct 24 2018 1:43 PMPermanent Link

Blake

Thanks, but I think I've worked it out, sorta, with your guidance. There have been four issues stacked:

0. #11013 on a table

1. There was some hung up Delphi process somewhere. Not visible in the task manager but it hung up a reboot.

2. There was a corrupt table.

3. Another #11013 (The way the error report was designed was hiding the fact that this last one was a 11013.)

I'm actually at #3 now. The only thing I can figure is that there's something in the program that's grabbing hold of that table and not letting go. There may also be something in the IDE, although I try to turn off anything "live" data related in the IDE.
Thu, Oct 25 2018 2:05 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Blake


Its worth installing GExperts which has a feature to set properties on compile - I have all the DBISAM & ElevateDB stuff set to inactive.

If you can't identify the culprit for number 3 try closing the database, if doesn't work the session and a final desperation measure the engine.

Roy Lambert
Thu, Oct 25 2018 12:28 PMPermanent Link

Blake

Thanks, Roy, I'll give that a shot.

I know which table it is, the thing that I don't know is why the table from step 0 is fine now, or why all the other tables are also fine. I think it must be something behind the scenes opening it up when the program starts.

(I inherited this program last year, and I'm still working through it all.)
Thu, Oct 25 2018 1:09 PMPermanent Link

Raul

Globestar Systems

Team Elevate Team Elevate

On 10/25/2018 12:28 PM, Blake wrote:
> I know which table it is, the thing that I don't know is why the table from step 0 is fine now, or why all the other tables are also fine. I think it must be something behind the scenes opening it up when the program starts.
>
> (I inherited this program last year, and I'm still working through it all.)

Engine component has a list of sessions and then each session has a list
of databases and that in turn has list of active datasets (queries or
tables).

If you're still struggling then just write a little function to run thru
all of this and dump it into log so you can see what is open in app at
any point.

Raul
Page 1 of 2Next Page
Jump to Page:  1 2
Image