Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 10 of 12 total
Thread CDCollector Example Application
Tue, Aug 14 2007 5:14 AMPermanent Link

Kevin Kozlowski
I'm just starting to learn ElevateDB (coming from DBISAM). I decided to start with the
CDCollector example application. I loaded the project into Delphi v7.1, build the project
(no errors). However, when I run the application, I get an error "ElevateDB Error #600
File manager error (Cannot create file
M:\products\source\edb1\cdcollector\data\EDBDatabase.EDBLck (OS Error: The system cannot
find the path specified))".

I'm not sure where this "M:\products...." is coming from. I don't have this drive nor
folder on my system.

I've run the ElevateDB Server (edbsrvr.exe) as a regular application (i.e., not a
service). It is located in D:\ElevateSoftware\ElevateDB on my system.

I have not configured any thing per se. Just ran edbsrvr.exe, loaded the CDCollector
project in Delphi, built it, and tried to run it. I looked around the CDCollector folder
for a readme.txt or some that might provide more information on steps needed (e.g., some
configuring of the server, or modifying of the source to match my folder structure), but I
did not come across anything as far as I could see.

Obviously, I'm doing something wrong as many others are running this sample application.

I would be grateful if someone could provide the steps I need to take to properly run this
sample application.

Thanks,

-Kevin
Tue, Aug 14 2007 5:00 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Kevin,

<< I'm just starting to learn ElevateDB (coming from DBISAM). I decided to
start with the CDCollector example application. I loaded the project into
Delphi v7.1, build the project (no errors). However, when I run the
application, I get an error "ElevateDB Error #600 File manager error (Cannot
create file M:\products\source\edb1\cdcollector\data\EDBDatabase.EDBLck (OS
Error: The system cannot find the path specified))".

I'm not sure where this "M:\products...." is coming from. I don't have this
drive nor folder on my system. >>

That's just the default TEDBEngine.ConfigPath that is assigned in the
project.  However, in the data.pas data module unit, there should be this
code:

procedure TCDCollectorDataModule.CDCollectorEngineBeforeStart(Sender:
TObject);
begin
  { Always be sure to set ConfigPath property to correct location.
    TempTablesPath property is where temporary tables are stored }
  with CDCollectorEngine do
     begin
     ConfigPath:=ExtractFilePath(Application.ExeName);
     TempTablesPath:=GetTempTablesPath;
     end;
end;

Could you verify that this code is present ?  Also, does the TEDBEngine
component on the data module have the above event handler assigned to its
BeforeStart event ?

Without the above code and the proper BeforeStart assignment, the
TEDBEngine.ConfigPath used by the engine will be whatever is assigned at
design-time, not the proper runtime path of the .exe.

It appears that something related to the above has been modified after the
installation.  I double-checked everything here (latest version 1.05) to
make sure that the code was set up properly, and it all appears well.

<< I have not configured any thing per se. Just ran edbsrvr.exe, loaded the
CDCollector project in Delphi, built it, and tried to run it. I looked
around the CDCollector folder for a readme.txt or some that might provide
more information on steps needed (e.g., some configuring of the server, or
modifying of the source to match my folder structure), but I did not come
across anything as far as I could see. >>

The CDCollector application is, by default, only a local application, so it
doesn't require the ElevateDB Server.  However, it can be converted to using
the ElevateDB Server rather easily.   If you'd like some information on how
to do so, just let me know.

--
Tim Young
Elevate Software
www.elevatesoft.com

Tue, Aug 14 2007 7:52 PMPermanent Link

Kevin Kozlowski
Tim,

<<
That's just the default TEDBEngine.ConfigPath that is assigned in the
project.  However, in the data.pas data module unit, there should be this
code:

procedure TCDCollectorDataModule.CDCollectorEngineBeforeStart(Sender:
TObject);
begin
  { Always be sure to set ConfigPath property to correct location.
    TempTablesPath property is where temporary tables are stored }
  with CDCollectorEngine do
     begin
     ConfigPath:=ExtractFilePath(Application.ExeName);
     TempTablesPath:=GetTempTablesPath;
     end;
end;

Could you verify that this code is present ?  Also, does the TEDBEngine
component on the data module have the above event handler assigned to its
BeforeStart event ?

Without the above code and the proper BeforeStart assignment, the
TEDBEngine.ConfigPath used by the engine will be whatever is assigned at
design-time, not the proper runtime path of the .exe.
>>

Yes, CDCollectorEngineBeforeStart is there, and it is hooked to the BeforeStart event.

<<
It appears that something related to the above has been modified after the
installation.  I double-checked everything here (latest version 1.05) to
make sure that the code was set up properly, and it all appears well.
>>

I'm using v1.05 build 1 which, I think, is the latest.

I ran the app in the debugger, and here's what I found:

In edbcomps.pas, DoConnect is called twice. The first time FDatabase is 'Configuration',
and the second time it is 'CDCollector'. I traced this second call. Stepped into the
OpenDatabase call (from DoConnect), then into Result.Open(DatabaseLockType). The first
line of TEDBLocalDatabaseManager.Open method is "if (not
FFileManager.PathExists(FDatabase.Path)) then". The FDatabase.Path at this point is
'M:\products\source\edb1\cdcollector\data' (as mentioned in the prior message, I don't
have an M: drive on my system). A couple lines down there is an FLockManager.Open call.
The exception occurs in the Open call (I think somewhere in the InternalOpen when trying
to create a file called 'M:\products\source\edb1\cdcollector\data\EDBDatabase.EDBLck').

Not sure if any of that is useful info.

For kicks, I uninstalled EDB, wiped the folder from hard drive, reinstalled v1.05 build 1.
When into Delphi 7, opened the CDCollector.dpr project, compiled, and ran. And the error
immediately displayed again. So it is definitely not working on my system.  

<<
The CDCollector application is, by default, only a local application, so it
doesn't require the ElevateDB Server.  However, it can be converted to using
the ElevateDB Server rather easily.   If you'd like some information on how
to do so, just let me know.
>>

I would like to get that info once we get it working as a local application.

-Kevin
Wed, Aug 15 2007 3:09 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Tim


>The CDCollector application is, by default, only a local application, so it
>doesn't require the ElevateDB Server. However, it can be converted to using
>the ElevateDB Server rather easily. If you'd like some information on how
>to do so, just let me know.

That would make a good tutorial for us all. I think its even worth a separate manual "Moving from fileserver to clientserver" or somesuch snappy title.

Roy Lambert
Wed, Aug 15 2007 6:19 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Kevin,

<< I ran the app in the debugger, and here's what I found: >>

Okay, I found the problem.  An EDBConfig.EDBCfg file was included with the
CDCollector application, so if you simply delete this file it will fix the
problem.   A fix for this will be included in the next build.

Thanks,

--
Tim Young
Elevate Software
www.elevatesoft.com

Wed, Aug 15 2007 10:02 PMPermanent Link

Kevin Kozlowski
Tim,

<<
Okay, I found the problem.  An EDBConfig.EDBCfg file was included with the
CDCollector application, so if you simply delete this file it will fix the
problem.   A fix for this will be included in the next build.
>>

That was it. I can now run the application.

One more question, I loaded the CDCollector database into ElevateDB Manager to peruse
through the structure of things. One of the new ElevateDB concepts (compared to DBISAM
that is) are Views, and I wanted to see how these were created. I see the CDCollector
Views in EDB Manager, but I can't figure out how to see the SQL commands that were used to
create the Views. Where is this located?

Along the same lines, how would you alter a View once it was created? I see a Drop
command, but I don't see an Edit type command.

Same thing for stored procedures, how do you see the SQL behind a stored procedure, and
how do you change them?

Anyway, just trying to get my feet wet learning some of these new features and the
differences from DBISAM.

Thanks,

-Kevin
Thu, Aug 16 2007 3:03 AMPermanent Link

"Harry de Boer"
Kevin,

The SQL statments can be found by querieing the information schema:
select * from information.procedures
select * from information.views

See the help: http://www.elevatesoft.com/edb1sql_information_schema.htm

Up to now you have to drop them in EDBmngr, but from 1.06 EDBmngr is going
to be updated to see the SQL statements and alter them, if I understand it
correctly (Tim?).

Regards, Harry


"Kevin Kozlowski" <kjkoz@comcast.net> schreef in bericht
news:8B87051C-BF34-41BD-A906-86E5F136410D@news.elevatesoft.com...
> Tim,
>
> <<
> Okay, I found the problem.  An EDBConfig.EDBCfg file was included with the
> CDCollector application, so if you simply delete this file it will fix the
> problem.   A fix for this will be included in the next build.
> >>
>
> That was it. I can now run the application.
>
> One more question, I loaded the CDCollector database into ElevateDB
Manager to peruse
> through the structure of things. One of the new ElevateDB concepts
(compared to DBISAM
> that is) are Views, and I wanted to see how these were created. I see the
CDCollector
> Views in EDB Manager, but I can't figure out how to see the SQL commands
that were used to
> create the Views. Where is this located?
>
> Along the same lines, how would you alter a View once it was created? I
see a Drop
> command, but I don't see an Edit type command.
>
> Same thing for stored procedures, how do you see the SQL behind a stored
procedure, and
> how do you change them?
>
> Anyway, just trying to get my feet wet learning some of these new features
and the
> differences from DBISAM.
>
> Thanks,
>
> -Kevin
>

Thu, Aug 16 2007 12:50 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Harry,

<< Up to now you have to drop them in EDBmngr, but from 1.06 EDBmngr is
going to be updated to see the SQL statements and alter them, if I
understand it correctly (Tim?). >>

Correct - 1.06 will have ALTER capabilities for jobs, functions/procedures,
views, and triggers, including the EDB Manager.

--
Tim Young
Elevate Software
www.elevatesoft.com

Thu, Aug 16 2007 3:25 PMPermanent Link

Kevin Kozlowski
<<
The SQL statments can be found by querieing the information schema:
select * from information.procedures
select * from information.views

See the help: http://www.elevatesoft.com/edb1sql_information_schema.htm

Up to now you have to drop them in EDBmngr, but from 1.06 EDBmngr is going
to be updated to see the SQL statements and alter them, if I understand it
correctly (Tim?).
>>

Ah ha! Thanks very much for the pointer Harry. That would have taken me a long time to
figure out!

BTW, I came across some newsgroup posts where you mention that you use kbmMW with DBISAM
(and perhaps EDB now). I'm looking at kbmMW and RemObjects DataAbstract as potential
middle tier solutions. You seem to speak very highly of kbmMW. I purchased licenses to
both products, and I'm just beginning to sit down and review them.

I find both to be very overwhelming with all the terminology and limited documentation.
One of the big reasons I'm looking to use one of these is to simplify client side coding.
Being able to define a complex schema with many linkages between tables server side, and
then on the client just being able to modify the result set and apply updates is very
appealing.

I'd appreciate any pointers you may have on using kbmMW with DBISAM/EDB (or DataAbstract
if you looked at that and decided against it).

Thanks again for the tips on the views and stored procedures.

-Kevin
Thu, Aug 16 2007 3:42 PMPermanent Link

Kevin Kozlowski
<<
Correct - 1.06 will have ALTER capabilities for jobs, functions/procedures,
views, and triggers, including the EDB Manager.
>>

Thanks Tim. Is 1.06 coming out anytime soon?

-Kevin
Page 1 of 2Next Page »
Jump to Page:  1 2
Image