Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 7 of 7 total
Thread auto modify database locations - makes the database more portable and less problems
Sat, Jun 28 2008 7:53 AMPermanent Link

Isaac Welliam
Hello,
I am thinking that elevatedb could be more portable by making a new
property in the database engine component for example
"AutoModifyDatabaseLocation" True|False

when the engine try to connect to the database and fail because the
location changed so it check the catalog file and execute alter database
statement automatically.

In my personal opinion this is very important feature to add

Regards
Isaac
Sat, Jun 28 2008 8:06 AMPermanent Link

Fernando Dias

Team Elevate Team Elevate

Isaac,

> when the engine try to connect to the database and fail because the
> location changed so it check the catalog file and execute alter database
> statement automatically.

I'm afraid I can't understand what you mean...
You mean EDB should automatically execute an "alter database" statement
to update the path of a database whose path changed?

--
Fernando Dias
[Team Elevate]
Sat, Jun 28 2008 8:27 AMPermanent Link

Isaac Welliam
yes is it possible ?
Sat, Jun 28 2008 10:18 AMPermanent Link

Fernando Dias

Team Elevate Team Elevate

Isaac,

Well, I can't imagine how would EDB automatically change the path for a
database whose current location is unknown. The database could simply
has been deleted, in the worst case.

--
Fernando Dias
[Team Elevate]
Sat, Jun 28 2008 10:46 AMPermanent Link

Isaac Welliam
Fernando Dias [Team Elevate] wrote:
> Isaac,
>
> Well, I can't imagine how would EDB automatically change the path for a
> database whose current location is unknown. The database could simply
> has been deleted, in the worst case.
>
oh sorry I dont understand how the mechanism of changing location work I
think alter database only can be used before moving the database , right?.

I was thinking that I set in code (delphi) the connect path to be
<application.exe location\db\db fiel>

When the user change application folder (along with all sub dir inside)
the application when it try to connect to db it will fail so if this
fail then the component check to see if there is a database exists in
the new location of application exe file with the same name if so it
open the catalog and change the location automatically - if alter
database can not be used may another direct way to modify catalog file

may be this sound weird but imagine the benefit of making application
portable and less customer problems when moving application form desktop
to his/her laptop for example.

Thanks
Sat, Jun 28 2008 11:02 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Isaac,

<< When the user change application folder (along with all sub dir inside)
the application when it try to connect to db it will fail so if this fail
then the component check to see if there is a database exists in the new
location of application exe file with the same name if so it open the
catalog and change the location automatically - if alter database can not be
used may another direct way to modify catalog file >>

There are several reasons why we can't do this, but the most important are:

1) There's no guarantee that the target database that EDB chooses is the one
that the application wants/needs.

2)  There is restrictive locking involved with an ALTER DATABASE statement,
so it isn't something that we want to just run without the application or
developer knowing about it.

3) All of this functionality can already be done by the developer of the
application, if they want it.  It's a simple matter of querying the
Configuration database at application startup, and taking the appropriate
actions (ALTER DATABASE, etc.) if the database path in the Databases table
for the database in question isn't set properly.

See here for more information:

http://www.elevatesoft.com/manual?action=mantopic&id=edb2&product=d&version=7&category=4&topic=13
http://www.elevatesoft.com/manual?action=mantopic&id=edb2sql&category=3&topic=55

--
Tim Young
Elevate Software
www.elevatesoft.com


Sat, Jun 28 2008 7:20 PMPermanent Link

Isaac Welliam
Tim Young [Elevate Software] wrote:
> Isaac,
>
> << When the user change application folder (along with all sub dir inside)
> the application when it try to connect to db it will fail so if this fail
> then the component check to see if there is a database exists in the new
> location of application exe file with the same name if so it open the
> catalog and change the location automatically - if alter database can not be
> used may another direct way to modify catalog file >>
>
> There are several reasons why we can't do this, but the most important are:
>
> 1) There's no guarantee that the target database that EDB chooses is the one
> that the application wants/needs.
>
> 2)  There is restrictive locking involved with an ALTER DATABASE statement,
> so it isn't something that we want to just run without the application or
> developer knowing about it.
>
> 3) All of this functionality can already be done by the developer of the
> application, if they want it.  It's a simple matter of querying the
> Configuration database at application startup, and taking the appropriate
> actions (ALTER DATABASE, etc.) if the database path in the Databases table
> for the database in question isn't set properly.
>
> See here for more information:
>
> http://www.elevatesoft.com/manual?action=mantopic&id=edb2&product=d&version=7&category=4&topic=13
> http://www.elevatesoft.com/manual?action=mantopic&id=edb2sql&category=3&topic=55
>
ok thanks
Image