Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 5 of 5 total
Thread DBISam to EDB
Sun, Sep 2 2018 8:19 AMPermanent Link

Ronald

Hi,

I am migrating anDBISam application to EDB. I use it in ClientMode. That worked fine, I thought. But I must be missing a point... I did this:

In the EDB Manager I created a session and entered that my configurationfile must be saved in "c:\temp\testdb" and that my database also is located here. In my testapp I set TDatabase.UseLocalSessionEngine to true and in the EDSEssion I set LocalConfigPath to "c:\temp\testdb".
All seemed to work fine in my l testapp.

Then I copied the database from "c:\temp\testdb" to another directory say: "c:\temp\testdb2".

I told my testapp to look at "c:\temp\testdb2" for the configurationfile. All seemed to work fine, but my testapp actually still looks in "c:\temp\testdb" for the tables. That is logical of course, because it reads that "old" directory in the configfile.

How make the moved database look at the new directory?

Greetings,
Ronald


 
Sun, Sep 2 2018 9:35 AMPermanent Link

Fernando Dias

Team Elevate Team Elevate

Ronald,

Do not mix the configuration file location with the database location - they are distinct things.
Normally you will have *one configuration* (I usually put it in \ProgramData\<MyCompanyName> ) and *many databases* (that I usually store by default in \ProgramData\<MyCompanyName>\<AppName>\<DatabaseName> ).

To change the database folder use EDBManager/Alter Database or SQL.
Example:
ALTER DATABASE "DatabaseName1" PATH 'C:\ProgramData\App1\DatabaseName1'

--
Fernando Dias
[Team Elevate]
Sun, Sep 2 2018 9:59 AMPermanent Link

Ronald

Fernando Dias wrote:

<
Do not mix the configuration file location with the database location - they are distinct things.
Normally you will have *one configuration* (I usually put it in \ProgramData\<MyCompanyName> ) and *many databases* (that I usually store by default in \ProgramData\<MyCompanyName>\<AppName>\<DatabaseName>
>
I understand that, but I use it with Elevate Web Builder and I need to open the database for each user that logs in. So I organized it that every database has its own directory.

<
To change the database folder use EDBManager/Alter Database or SQL.
Example:
ALTER DATABASE "DatabaseName1" PATH 'C:\ProgramData\App1\DatabaseName1'
>

The logged in user would need adminrights then.

If only one could overrule the database directory in an event... that would solve my problem.

Ronald
Sun, Sep 2 2018 11:47 AMPermanent Link

Ronald

To create a new database, I do the floowing now.

In EDB Manager I have a definition of a session and a database that works fine on my server. It is my template database. It points to the right database directory.

To create a new one I do the following:

1. Create a new directory for the new database
2. Right click on the database that works fine and choose: Create copy of database and let the database point to the directory you created under 1.
3. Now EDB manager creates new EDBConfig files in my "template" database that point to the correct directory.
4. I copy the tables to the new directory and I copy the EDBConfig from the template and all works fin.

Later I will create a procedure that does this all in one step.

Greetings,
Ronald
Tue, Sep 4 2018 1:14 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Ronald,

<< I understand that, but I use it with Elevate Web Builder and I need to open the database for each user that
logs in. So I organized it that every database has its own directory. >>

Are these "users" all separate customers that need to be completely isolated from one another ?  If so, then yes, using separate configuration files in separate directories is the right way to go.

<< The logged in user would need adminrights then. >>

You wouldn't use CREATE/ALTER DATABASE at runtime, only when initially setting up the databases.  At runtime, you would simply have to associate the user with a database *name* (.ini file, etc.), and then use that database name with your application.

<< If only one could overrule the database directory in an event... that would solve my problem. >>

EWB 3 will have the ability to filter connection properties using parameters provided in the URL for database requests, so you won't have as much issue with this and will be able to set the configuration path (and other properties) dynamically.

Tim Young
Elevate Software
www.elevatesoft.com
Image