Login ProductsSalesSupportDownloadsAbout |
Home » Technical Support » ElevateDB Technical Support » Support Forums » ElevateDB General » View Thread |
Messages 1 to 10 of 12 total |
CDCollector Example Application |
Tue, Aug 14 2007 5:14 AM | Permanent 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 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. 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 PM | Permanent 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 AM | Permanent Link |
Roy Lambert NLH Associates 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 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. 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 PM | Permanent 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 AM | Permanent 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 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. 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 PM | Permanent 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 PM | Permanent 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 2 | Next Page » | |
Jump to Page: 1 2 |
This web page was last updated on Sunday, May 5, 2024 at 10:18 AM | Privacy PolicySite Map © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? E-mail us at info@elevatesoft.com |