Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 10 of 12 total
Thread ElevateDB Error #401 on a Non-Development Machine
Tue, Jul 8 2014 7:18 AMPermanent Link

Michael Riley

ZilchWorks

Avatar

I'm getting an Elevatedb error #401 on a non-development machine.

My development machine is running Windows 7, Delphi XE4, ElevateDB 2.17
Build 1. Everything runs great both inside and outside the IDE on this
machine.

I'm using a sub-folder called "Credit Card Math" off the
CSIDL_COMMON_APPDATA folder to store the databse files.

Windows 7:
C:\ProgramData\Credit Card Math

Windows XP:
C:\Documents and Settings\All Users\Application Data\Credit Card Math

I copied the contents of the Credit Card Math folder to my XP Machine.
When I try and run the application on my XP Machine I get the following
error?


ElevateDB Error #401 The table or view Chapters does not exist in the
schema Default.

What am I doing wrong?

--
Michael Riley
GySgt USMC (Ret)
www.zilchworks.com
Tue, Jul 8 2014 8:19 AMPermanent Link

Uli Becker

Michael,

did you check the path of your database on the xp machine (in EDB-Manager)?

Looks like a wrong path.

Uli
Tue, Jul 8 2014 8:33 AMPermanent Link

Michael Riley

ZilchWorks

Avatar

Uli Becker wrote:

> Michael,
>
> did you check the path of your database on the xp machine (in EDB-Manager)?
>
> Looks like a wrong path.

Uli,

I have not tried that. I have different versions of EDBManager on each machine. I will try this when I get home from work.

Michael Riley
GySgt USMC (Ret)
www.zilchworks.com
Tue, Jul 8 2014 9:12 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Michael


I'm at least partly with Uli on this one.

Two things need looking at:

1. THE DATABASE PATH.
If you simply copied the data across then when you open the session on you development machine you may well have a database there, but one that is not pointing to the right directory

2. THE CATALOG
Which is really down to the path. However, if you have a valid path pointing to a database but it doesn't have the catalog you think should be there you'll have problems. Also if you had a valid database and catalog at one point but have made some changes to teh catalog on the live machine (eg added some tables) simply porting the files that comprise the tables over to the development machine will not make them appear in the catalog of the database machine.

FINALLY
I think things have changed for the better but way back when I started even if you had two tables which you thought were the same copying the files across from live to development generally failed because in ElevateDB's eyes the metadata had changed. This is why my systems now have an opetion to export / import the data.

Roy Lambert
Tue, Jul 8 2014 7:05 PMPermanent Link

Michael Riley

ZilchWorks

Avatar

Uli Becker wrote:

> Michael,
>
> did you check the path of your database on the xp machine (in
> EDB-Manager)?
>
> Looks like a wrong path.
>
> Uli

So I used EDB-Manager on the XP Machine and created a session pointing
to the same config file location. It recognized the login and password.

It showed me the database as well. So far so good!

However, there were no database tables. So, I used the alter database
command inside EDB-Manager and noticed that the *Folder* was using the
CSIDL_COMMON_APPDATA information from my Windows 7 machine.

When I changed the folder to point to the correct location on the XP
Machine everything worked perfectly.

So it appears that I need to run an update query on the *Databases*
*Table* and set *Path* equal to the *CSIDL_COMMON_APPDATA* of the
current machine.

I'm using a *DataModule* and configuring everything in the *OnCreate*
event so I will simply add this one extra step.

Thanks Uli, I never would have guessed to troubleshoot it this way.
This definitely deserves a blog post.

Note to self: EDBManager Database Folder = Databases Table Path

http://www.elevatesoft.com/manual?action=viewtopic&id=edb2sql&topic=Databases_Table


--
Michael Riley
GySgt USMC (Ret)
www.zilchworks.com
Wed, Jul 9 2014 7:06 AMPermanent Link

Michael Riley

ZilchWorks

Avatar

Uli Becker wrote:

> Michael,
>
> did you check the path of your database on the xp machine (in EDB-Manager)?
>
> Looks like a wrong path.
>
> Uli

Uli,

I need to used the ALTER DATABASE command.

procedure TdmCCMath.DataModuleCreate(Sender: TObject);
begin
 CCMathEngine.Active := True;
 CCMathSession.Connected := True;

 with ConfigurationQuery do
 begin
   SQL.Text:='ALTER DATABASE "CCMath" PATH ''' + CCMathEngine.ConfigPath + '\Data''';
   ExecSQL;
  end;
end;

http://www.elevatesoft.com/supportfaq?action=view&category=edb&question=change_database_path
http://www.elevatesoft.com/manual?action=viewtopic&id=edb2sql&topic=ALTER_DATABASE

Thanks for your help.

--
Michael Riley
GySgt USMC (Ret)
www.zilchworks.com
Wed, Jul 9 2014 10:45 AMPermanent Link

Uli Becker

Michael,

> I need to used the ALTER DATABASE command.

Glad to help.

Uli
Thu, Jul 10 2014 11:04 AMPermanent Link

Uli Becker

Michael,

> I need to used the ALTER DATABASE command.

Just a hint:

if you don't know the write syntax of a sql statement, you can just do
it in the GUI of EDB Manager.
Then have a look at Extras | SQL History and you find the sql statement
of what you did.

Attached 2 screenshots (alter database sample).

Uli




Attachments: Clip2.png Clip3.png
Thu, Jul 10 2014 5:19 PMPermanent Link

Michael Riley

ZilchWorks

Avatar




Attachments: relative path.PNG
Fri, Jul 11 2014 4:44 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Michael


I believe that relative paths are relative to the directory the config file is in, so you are correct as long as you are storing the configuration data in a directory in  CSIDL_COMMON_APPDATA and then the database in a directory hanging off that.

Roy Lambert
Page 1 of 2Next Page »
Jump to Page:  1 2
Image