Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 8 of 8 total
Thread Database Backup
Tue, Oct 6 2009 3:33 PMPermanent Link

"Sean McDermott"
Hi, D 2009, DBISAM V4.25 or so.

I have tried implementing the TDDBISAM Database backup method in code. I
have tried it with the db active and inactive, with the tables open and
closed. With the db connected, the exception says that the operation can not
be performed on an open db, if I inactivate the db I get 'Cannot perform
this operation on a closed database' What obvious element am I missing?
Certainly performing a backup within the dbsys utility works fine. I used to
use the old TBackup component but it doesn't support D2009. Any fixes or
recommendations or sample code that works is appreciated, many thanks, Sean

Tue, Oct 6 2009 6:08 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Sean,

<< I have tried implementing the TDDBISAM Database backup method in code. I
have tried it with the db active and inactive, with the tables open and
closed. With the db connected, the exception says that the operation can not
be performed on an open db, if I inactivate the db I get 'Cannot perform
this operation on a closed database' What obvious element am I missing? >>

Could you post the code that you're using ?  The Backup method requires that
the database be open, so the error about the database needing to be closed
is due to another method or property assignment that requires the database
to be closed.

--
Tim Young
Elevate Software
www.elevatesoft.com

Wed, Oct 7 2009 9:35 AMPermanent Link

"Sean McDermott"
Hi Tim, I presume I post this in the binaries section? I have pared back the
project to one form and a datamodule so I am sure I missed something
elemental. Many thanks, posting now, Sean

"Tim Young [Elevate Software]" <timyoung@elevatesoft.com> wrote in message
news:3A9460E8-35B1-4984-9886-4F8998B31AAA@news.elevatesoft.com...
> Sean,
>
> << I have tried implementing the TDDBISAM Database backup method in code.
> I have tried it with the db active and inactive, with the tables open and
> closed. With the db connected, the exception says that the operation can
> not
> be performed on an open db, if I inactivate the db I get 'Cannot perform
> this operation on a closed database' What obvious element am I missing? >>
>
> Could you post the code that you're using ?  The Backup method requires
> that the database be open, so the error about the database needing to be
> closed is due to another method or property assignment that requires the
> database to be closed.
>
> --
> Tim Young
> Elevate Software
> www.elevatesoft.com
>

Thu, Oct 8 2009 3:30 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Sean,

<< Hi Tim, I presume I post this in the binaries section? I have pared back
the project to one form and a datamodule so I am sure I missed something
elemental. Many thanks, posting now, Sean >>

Sorry for the delay in getting back to you.   The issue is with the
TDBISAMDatabase.Directlory assignment before the backup:

  TablesToBackup:=TStringList.Create;
  try
     with datamodule1.AMIDB do
        begin
        DatabaseName:='AMIDB';
        Directory:='c:\amitest\Backup';  <<<<<<<<<<<< Here
        with TablesToBackup do
           begin

The AMIDB component is set to Connected=True at design-time, so you need to
do this instead:

  TablesToBackup:=TStringList.Create;
  try
     with datamodule1.AMIDB do
        begin
        Connected:=False;
        DatabaseName:='AMIDB';
        Directory:='c:\amitest\Backup';
        Connected:=True;
        with TablesToBackup do
           begin

--
Tim Young
Elevate Software
www.elevatesoft.com

Fri, Oct 9 2009 8:07 AMPermanent Link

"Sean McDermott"
Thanks Tim.
> Sean,
>
> << Hi Tim, I presume I post this in the binaries section? I have pared
> back the project to one form and a datamodule so I am sure I missed
> something elemental. Many thanks, posting now, Sean >>
>
> Sorry for the delay in getting back to you.   The issue is with the
> TDBISAMDatabase.Directlory assignment before the backup:
>
>   TablesToBackup:=TStringList.Create;
>   try
>      with datamodule1.AMIDB do
>         begin
>         DatabaseName:='AMIDB';
>         Directory:='c:\amitest\Backup';  <<<<<<<<<<<< Here
>         with TablesToBackup do
>            begin
>
> The AMIDB component is set to Connected=True at design-time, so you need
> to do this instead:
>
>   TablesToBackup:=TStringList.Create;
>   try
>      with datamodule1.AMIDB do
>         begin
>         Connected:=False;
>         DatabaseName:='AMIDB';
>         Directory:='c:\amitest\Backup';
>         Connected:=True;
>         with TablesToBackup do
>            begin
>
> --
> Tim Young
> Elevate Software
> www.elevatesoft.com
>

Tue, Oct 13 2009 9:04 AMPermanent Link

"Sean McDermott"
OK, last questions. All works fine but BACKUP appears to place backup file
in same directory as data files. Is this controllable? Also, can you use
wildcards for backing up and restoring? OK, last of my stunned questions for
now, many thanks, Sean

> Thanks Tim.
>> Sean,
>>
>> << Hi Tim, I presume I post this in the binaries section? I have pared
>> back the project to one form and a datamodule so I am sure I missed
>> something elemental. Many thanks, posting now, Sean >>
>>
>> Sorry for the delay in getting back to you.   The issue is with the
>> TDBISAMDatabase.Directlory assignment before the backup:
>>
>>   TablesToBackup:=TStringList.Create;
>>   try
>>      with datamodule1.AMIDB do
>>         begin
>>         DatabaseName:='AMIDB';
>>         Directory:='c:\amitest\Backup';  <<<<<<<<<<<< Here
>>         with TablesToBackup do
>>            begin
>>
>> The AMIDB component is set to Connected=True at design-time, so you need
>> to do this instead:
>>
>>   TablesToBackup:=TStringList.Create;
>>   try
>>      with datamodule1.AMIDB do
>>         begin
>>         Connected:=False;
>>         DatabaseName:='AMIDB';
>>         Directory:='c:\amitest\Backup';
>>         Connected:=True;
>>         with TablesToBackup do
>>            begin
>>
>> --
>> Tim Young
>> Elevate Software
>> www.elevatesoft.com
>>
>
>

Tue, Oct 13 2009 9:11 AMPermanent Link

"Robert"

"Sean McDermott" <Sean@HorizonCanada.com> wrote in message
news:DA28F2C5-0674-4103-9F6F-AF9B733BD1D5@news.elevatesoft.com...
> OK, last questions. All works fine but BACKUP appears to place backup file
> in same directory as data files. Is this controllable? Also, can you use
> wildcards for backing up and restoring? OK, last of my stunned questions
> for now, many thanks, Sean
>

Yes, it is controllable it is one of the parameters  to the backup. Careful
with C/S, it has to be a folder name relative to the server, not to your
workstation.

You can not use wildcards, but of course you can edit the stringlist before
you do the backup.

Robert

Tue, Oct 13 2009 12:46 PMPermanent Link

"Sean McDermott"
Thanks Robert, Sean

"Robert" <ngsemail2005withoutthis@yahoo.com.ar> wrote in message
news:F680CE26-C674-4994-8B5E-5C994984F5F0@news.elevatesoft.com...
>
> "Sean McDermott" <Sean@HorizonCanada.com> wrote in message
> news:DA28F2C5-0674-4103-9F6F-AF9B733BD1D5@news.elevatesoft.com...
>> OK, last questions. All works fine but BACKUP appears to place backup
>> file in same directory as data files. Is this controllable? Also, can you
>> use wildcards for backing up and restoring? OK, last of my stunned
>> questions for now, many thanks, Sean
>>
>
> Yes, it is controllable it is one of the parameters  to the backup.
> Careful with C/S, it has to be a folder name relative to the server, not
> to your workstation.
>
> You can not use wildcards, but of course you can edit the stringlist
> before you do the backup.
>
> Robert
>
>

Image