Login ProductsSalesSupportDownloadsAbout |
Home » Technical Support » ElevateDB Technical Support » Support Forums » ElevateDB General » View Thread |
Messages 11 to 14 of 14 total |
How to detect that a database is missing |
Wed, Jul 4 2007 12:51 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Stephan,
<< You may be right if you think in terms of company databases. But as far as I understood, DBIsam and also EDB were not designed for large business databases. Instead, both are designed as former BDE replacement and now as alternatives to other lightweight databases. Those databases are used for end-user desktop apps, because they don't need extra users' work like M$-SQL Server or Interbase etc. We as developers like databases like DBisam, EDB, etc. because we can afford them and because distribution with our own apps is free. With respect to the requirements of those apps, I completely disagree with your statement. For example, my applications (see www.sportsoftware.de must work as standalone apps as well as in networks. Also the users do touch the datafolders manually, may it be by accident or intentionally, when exchanging data. Nobody of them would understand why the database system like EDB will not complain about missing data. >> If your users are exchanging data by copying around tables, then that type of system simply won't work with EDB. You cannot do it, period, and expect things to work well. Messing with the physical files is not the proper way of allowing a user to transfer data. Doing so in DBISAM wasn't a good idea, and doing so in EDB is a really bad idea. As for EDB complaining about missing data, you're not understanding my last post at all. EDB doesn't think any data is missing because the database catalog doesn't track whether there is data in a table (nor should it). It simply tracks whether a table exists, and if a table is defined in the catalog, then it exists. And frankly, if your customers are smart enough to blow away a database directory but leave the database catalog in place, then they know enough to know what the results of their actions are. If you delete the entire contents of a database directory, then you will get "<Object> doesn't exist" errors when you run your application and try to reference tables/views/procedures/functions that are no longer in the database catalog. The same holds true for the database(s) if the configuration file is deleted. -- Tim Young Elevate Software www.elevatesoft.com |
Wed, Jul 4 2007 12:54 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Stephan,
<< Now, what is EDB actually? An improvement to DBisam or not? >> EDB is not an upgrade to DBISAM, if that's what you're getting at. << Yes, with DBIsam you must check with fileexists, since you don't have a database catalog. Instead the "catalog" exists in code, means some checking procedures. But EDB has a database catalog, whose task among others should be to check if the definitions do match what is there physically. >> The catalog is the only "there" that there is. If a table is defined in the catalog, then it exists. The same is the case for databases in the configuration. << Even with DBIsam it is not necessary to check if a table exists before opening it. You just get an exception which tells you that something is wrong. Well, with EDBTable this is the same, but I would expect this also for TEDBDatabase.Open. >> Yes, but EDB is not DBISAM. DBISAM stored its metadata in the same files as the data, hence the existence of the physical files was equivalent to them existing, period. -- Tim Young Elevate Software www.elevatesoft.com |
Wed, Jul 4 2007 3:51 PM | Permanent Link |
Chris Erdal | Stephan Krämer <StKraemer@sportsoftware.de> wrote in
news:D74478AF-2009-4412-A024-8E1AD0BED0DE@news.elevatesoft.com: So far, I don't have any precise answer from Tim if EDB > will handle this, yes or no. Stephan, I feel you're being unfair to Tim when you say he hasn't given a precise answer. He has stated very clearly that EDB is not designed to detect whether the system files that are (or are no longer) in the place the catalog says they should be are the same as last time or not. So EDB expects users to take reasonable care about not disturbing system files containing tables referenced in the EDB catalog, or else things will not work. My personal point of view is that this is a GOOD THING to explain to users, along with how to do automated backups so we can bill them a little when they call us in to magically restore everything when they mess it all up ! -- Chris (XP-Pro + Delphi 7 Architect + DBISAM 4.25 build 4 + EDB 1.04 build 3) |
Wed, Jul 4 2007 4:21 PM | Permanent Link |
Stephan Krämer | Tim,
I am sorry that it looks like I hurt you. I seems that I am not able to explain you what I mean. Sorry for that, I don't want to keep you off from your work. Best regards Stephan |
« Previous Page | Page 2 of 2 | |
Jump to Page: 1 2 |
This web page was last updated on Tuesday, April 30, 2024 at 03:55 PM | Privacy PolicySite Map © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? E-mail us at info@elevatesoft.com |