Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 10 of 10 total
Thread Can't get ElevateDB components to work
Tue, Jan 23 2007 11:08 AMPermanent Link

Altaireon
I reviewed your CDCollector sample app and it works in design time as well as runtime.  All seems well.  When I create my own database and try to point the components (DBEngine,
DBSession, and DBDatabase) to the new database and open it, I get the following error: "ElevateDB Error #401 The Database MAPE07 does not exists."  I also tried your online turorial with
no sucess.  I am sure I am missng something, but I do not know what it is.  Are there any special settings, considerations, etc.?

I've been using the ElevateDB Manager, and I can say that the new database is rather impressive.  The views, stored procedures, RI, checks, etc., add awesome capabilities from dbIsam
4.x.  Also, I noticed ElevateDB tables are approximaetly 20% smaller than dbIsam 4.x (57MB w/dbIsam and 42MB w/ElevateDB ).  Is this right or am I missing someting else?

Thanks for your help and great job with ElevateDB.  I am sure its awsome, I just need to get it working.
Tue, Jan 23 2007 12:29 PMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Tim


These are the same sort of problems I've been having which is why I was hoping for a "no data" start to the cdcollection example.

Looking at the source it finds the data, but if you (for example) rename \data to \xdata it blows up.

Roy Lambert
Tue, Jan 23 2007 1:36 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com


<<I reviewed your CDCollector sample app and it works in design time as well
as runtime.  All seems well.  When I create my own database and try to point
the components (DBEngine, DBSession, and DBDatabase) to the new database and
open it, I get the following error: "ElevateDB Error #401 The Database
MAPE07 does not exists."  I also tried your online turorial with no sucess.
I am sure I am missng something, but I do not know what it is.  Are there
any special settings, considerations, etc.? >>

The key is the TEDBEngine.ConfigPath property.  You must make sure that it
points to the same configuration path as that being used by the application,
in this case I assume that is the EDB Manager.  You can find out the
configuration path being used by the EDB Manager by clicking on the Edit
Options link in the EDB Manager tasks pane when the manager is first
started.  That will bring forward a dialog with the configuration file
folder in the first edit box.  You need to ensure that your application is
pointing to the same location in its TEDBEngine.ConfigPath property.

<< I've been using the ElevateDB Manager, and I can say that the new
database is rather impressive.  The views, stored procedures, RI, checks,
etc., add awesome capabilities from dbIsam 4.x.  Also, I noticed ElevateDB
tables are approximaetly 20% smaller than dbIsam 4.x (57MB w/dbIsam and 42MB
w/ElevateDB ).  Is this right or am I missing someting else? >>

It depends upon the database tables in particular, but yes, most database
tables will be smaller under EDB.  The indexes will usually be smaller, and
in some cases much smaller, and the BCD (Decimal) columns are much smaller
in size as are Booleans.

<< Thanks for your help and great job with ElevateDB.  I am sure its awsome,
I just need to get it working. >>

Thanks very much for the kind words.

--
Tim Young
Elevate Software
www.elevatesoft.com

Tue, Jan 23 2007 1:41 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Roy,

<< Looking at the source it finds the data, but if you (for example) rename
\data to \xdata it blows up. >>

Of course it will - it expects to create and find the data in the "data"
subdirectory of the directory where the application is located.  Just change
the code as follows in the data module:

  { Check to see if the database exists or whether it needs to be
    created }
  with ConfigurationQuery do
     begin
     SQL.Text:='SELECT * FROM Databases WHERE
Name='+Engine.QuotedSQLStr('CDCollector');
     Open;
     if (RecordCount=0) then
        begin
        { Database doesn't exist and we need to create it }
        Close;
        SQL.Text:='CREATE DATABASE "CDCollector" PATH '+
                   Engine.QuotedSQLStr(ExtractFilePath(Application.ExeName)+'xdata');
<<<<<<< Here
        ExecSQL;
        end
     else
        Close;
     end;

to get it to use the "xdata" subdirectory instead.  This is no different
than DBISAM.  You can't tell the application to look for the database in one
place and then move it someplace else and still expect the application to
work. Wink

Now, if you want to create the database in the "data" subdirectory and
*then* move it to "xdata", you'll have to take the steps that I indicated
before - Move Database using file system, Drop Database in SQL, Create
Database in SQL using new path.

--
Tim Young
Elevate Software
www.elevatesoft.com

Tue, Jan 23 2007 1:49 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

<< Also, I noticed ElevateDB tables are approximaetly 20% smaller than
dbIsam 4.x (57MB w/dbIsam and 42MB w/ElevateDB ).  Is this right or am I
missing someting else? >>

There is one thing that I forgot to point out, however.  If you have
migrated over any tables that contain full-text indexes, those are *not*
being migrated over at the moment, so that will result in the EDB table size
being significantly smaller than the DBISAM table size.  I don't think that
this applies to you in this case, but it certainly is something to keep in
mind.

--
Tim Young
Elevate Software
www.elevatesoft.com

Tue, Jan 23 2007 3:39 PMPermanent Link

Altaireon
Tim

Okay.  I followed your steps listed in the previous posting and it works as you described.  Are there any configuration or deployment concerns for a local app?  Can I move the config file?  
Can I change the absolute path in the config file during runtime, etc.?

With dbIsam 4.x I set the database directory property during design time to the location of the database, and during app startup I reset the same directory property to the Drive:\App
Directory\data.  Is there some similar mechanism or process for ElevateDB?

Thanks for your help.

Wed, Jan 24 2007 2:16 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Tim


Brill - that's the sort of authentic gibberish (Blazing Saddles quote just in case you thought I was being rude) I was looking for.

Next - if its in the manual just tell me to RTFM but can you create the catalogue programmatically in the xdata directory?

Roy Lambert
Wed, Jan 24 2007 10:50 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Tom,

<< Are there any configuration or deployment concerns for a local app? >>

I'm not sure what you're asking.  Apart from making sure that the ConfigPath
property is set properly and that the defined databases in the configuration
file all point to the correct locations, there's really nothing else.

<< Can I move the config file? >>

Sure.

<< Can I change the absolute path in the config file during runtime, etc.?
>>

Yes, but you have to shut down the engine to do it, which will close all
sessions, databases, tables, etc.

<< With dbIsam 4.x I set the database directory property during design time
to the location of the database, and during app startup I reset the same
directory property to the Drive:\App Directory\data.  Is there some similar
mechanism or process for ElevateDB? >>

All database path information is stored in the configuration file, therefore
I would recommend not shipping the configuration file with the application
and just creating the users/roles/databases at runtime when the application
is first started (same as CDCollector example).  You can still ship the
database with the application.

--
Tim Young
Elevate Software
www.elevatesoft.com

Wed, Jan 24 2007 10:55 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Roy,

<< Brill - that's the sort of authentic gibberish (Blazing Saddles quote
just in case you thought I was being rude) I was looking for. >>

Excellent movie.  My favorite quote is "Dang, that was lucky. Doggone near
lost a four hundred dollar handcart." Smiley(thanks to IMDB for the quote)

<< Next - if its in the manual just tell me to RTFM but can you create the
catalogue programmatically in the xdata directory? >>

I'm not sure what you mean.  Creating the database with the xdata path
automatically creates the catalog in the xdata directory.

--
Tim Young
Elevate Software
www.elevatesoft.com

Wed, Jan 24 2007 1:19 PMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Tim


Things are starting to become clearer and will probably dramatically improve once I climb out of the quicksand Smiley

Roy Lambert
Image