Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 5 of 5 total
Thread Missing Tables
Fri, Oct 29 2010 4:27 PMPermanent Link

Howard Barlow

I'm moving a database to another computer.  From all that I've read in the forums I should be able to simply copy the database folder to the new machine and then I should be able see it in the DB Manager once i set up a session with the proper information.  I've set the config name, catalog name, extensions, and signature.  The databases come up, the tables are missing.  Double checked everything still no tables. Rinse and repeat.  I've changed the default signature and file extensions from the defaults on the original database and they work perfectly on the original machine, moved it again.  Still nothing.  My original tables are encrypted.  I un-encrypted them, thought maybe this was a safety feature.  Still no tables.How do I get the tables to show up on a new computer?

Step by step:
1. copy folder from old computer to new computer (versions of elevate exactly the same, Delphi 2007)
2. open manager on new computer create a new session
3. set the local folder to the location of the data
 change configuration name and catalog name to match what is showing on the old computer (?  does it make a difference that the configuration name and the catalog name are the same, it shouldn't)
 set the file extensions.  copy and paste using remote desktop manager so I know that they are the same
 set the signature
4, change to login tab put in user name and password
click ok
now I open session, databases showing, NO tables,  repeat

I'm worried about how much of a hassle its going to be for my customers.  
Fri, Oct 29 2010 5:12 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Howard,

<< I'm moving a database to another computer.  From all that I've read in
the forums I should be able to simply copy the database folder to the new
machine and then I should be able see it in the DB Manager once i set up a
session with the proper information.  I've set the config name, catalog
name, extensions, and signature.  The databases come up, the tables are
missing.  Double checked everything still no tables. Rinse and repeat.  I've
changed the default signature and file extensions from the defaults on the
original database and they work perfectly on the original machine, moved it
again.  Still nothing.  My original tables are encrypted.  I un-encrypted
them, thought maybe this was a safety feature.  Still no tables.  How do I
get the tables to show up on a new computer? >>

More than likely the issue is with the customizations that you've made.
When you customize the file names/extensions, you have to be careful to do
it properly and make sure that the customizations are properly replicated in
every client front-end that will be accessing the same config/database(s).

<<  change configuration name and catalog name to match what is showing on
the old computer (?  does it make a difference that the configuration name
and the catalog name are the same, it shouldn't) >>

Is your configuration path the same as your database directory ?  If so,
then this could be a problem if you're using the same extensions for both.
If you're using different configuration file and database catalog extensions
then no, that won't be an issue.  However, using the same path for both the
configuration and the database is also something you want to avoid,
otherwise you'll constantly end up copying the configuration file when you
copy databases around, and that can completely mess up your installations if
the configuration file has different database definitions on each machine,
especially the database paths.

--
Tim Young
Elevate Software
www.elevatesoft.com
Sat, Oct 30 2010 3:06 PMPermanent Link

Howard Barlow

"Tim Young [Elevate Software]" wrote:

Howard,

<< I'm moving a database to another computer.  From all that I've read in
the forums I should be able to simply copy the database folder to the new
machine and then I should be able see it in the DB Manager once i set up a
session with the proper information.  I've set the config name, catalog
name, extensions, and signature.  The databases come up, the tables are
missing.  Double checked everything still no tables. Rinse and repeat.  I've
changed the default signature and file extensions from the defaults on the
original database and they work perfectly on the original machine, moved it
again.  Still nothing.  My original tables are encrypted.  I un-encrypted
them, thought maybe this was a safety feature.  Still no tables.  How do I
get the tables to show up on a new computer? >>

More than likely the issue is with the customizations that you've made.
When you customize the file names/extensions, you have to be careful to do
it properly and make sure that the customizations are properly replicated in
every client front-end that will be accessing the same config/database(s).

I'm using the Manager for now to asses the database making sure it is working properly.  I did run the application that accesses the data and I am getting the same problem.  Of course I made sure that the paths where all correct.

<<  change configuration name and catalog name to match what is showing on
the old computer (?  does it make a difference that the configuration name
and the catalog name are the same, it shouldn't) >>

Is your configuration path the same as your database directory ?  If so,
then this could be a problem if you're using the same extensions for both.
If you're using different configuration file and database catalog extensions
then no, that won't be an issue.  However, using the same path for both the
configuration and the database is also something you want to avoid,
otherwise you'll constantly end up copying the configuration file when you
copy databases around, and that can completely mess up your installations if
the configuration file has different database definitions on each machine,
especially the database paths.


My databases are sub-directories below the configuration path is that a problem?

I attempted to simply create a new configuration file in another directory and pointed the database to the folder of where the tables are located and I am receiving a notice that the encryption is not the same.  

--
Tim Young
Elevate Software
www.elevatesoft.com
Sat, Oct 30 2010 4:59 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Howard,

<< My databases are sub-directories below the configuration path is that a
problem? >>

No, that's the optimal setup, so you're good there.

<< I attempted to simply create a new configuration file in another
directory and pointed the database to the folder of where the tables are
located and I am receiving a notice that the encryption is not the same. >>

Are you possibly using the Unicode version of EDB in Delphi, and the ANSI
version of the EDB Manager, or vice-versa ?  Besides that, the only other
cause of such a problem would be an actual mismatch in the encryption
password used in the application (or EDB Manager).

BTW, what was the exact error message that you saw ?

--
Tim Young
Elevate Software
www.elevatesoft.com


Thu, Nov 4 2010 11:14 AMPermanent Link

Howard Barlow

I found the answer in the forums.  I modified the 'configuration' table of the database accessible through the default session engine to point to the folders where the data is being stored.   This routine below simply takes and modifies the configuration file to point to the data folder below the application.  I used this routine in the on create of the datamodule I used to configure database connections.  So it is loaded before the main program. It also uses two edbquery components in the data module.  They could probably created dynamically, I just didn't do it.

 datapath := IncludeTrailingPathDelimiter(ExtractFilePath(Application.ExeName)) + 'data';
{ Activate the engine.  The engine can be referenced by the generic
   Engine function in the edbcomps unit }
 Engine.Active:=True;
 { Now connect the default session, referened by the generic Session
    function in the edbcomps unit }
 Session.LoginUser := 'Administrator';
 Session.LoginPassword := 'EDBDefault';
 Session.Connected:=True;

 ConfigurationQuery.Open;
 while not ConfigurationQuery.Eof do
 begin
   if not(AnsiCompareText(ConfigurationQueryPath.Value,(datapath + '\' + ConfigurationQueryName.Value)) = 0) then
   begin
     SetPathQuery.SQL.Text := 'ALTER DATABASE "' + ConfigurationQueryName.Value + '" PATH ' +
       Engine.QuotedSQLStr(datapath + '\' + ConfigurationQueryName.Value);

     SetPathQuery.ExecSQL;
   end;

   ConfigurationQuery.Next;
 end;
 ConfigurationQuery.Close;
Image