![]() | |
![]() |
| | Thread Tools | Display Modes |
#31
| |||
| |||
|
|
This table would identify EVERYONE CURRENTLY ONLINE. As a function of your applications opening and closing, these entries are added or deleted from this common table. |
|
I believe the best way to deal with this is to cause ALL users to automatically make an entry into a common table which is located in the "Net" directory (Logged in or Logged out). This table would identify EVERYONE CURRENTLY ONLINE. As a function of your applications opening and closing, these entries are added or deleted from this common table. By tracking who is Online... you can establish rather it is safe to lock the table directory and begin copying the data tables or not. You could even go as far as to design your application to automatically send a message to those who are Online, stating that they need to quit their work within the next 5 minutes.... etc. By placing this logging table in the Net Dir, you are assured that everyone can see it and use it. It wouldn't take much effort to cause your apps to automatically log users on and off of this table. Of course, if a user would somehow quit their Paradox app in an unorthodox manner (Ctrl-Alt-Delete), they may not get properly logged out of the table.... you will have to devise a reliable method to handle this. I use this logging method and find I can use the information for a lot of other uses too. You can include users time in and time out.... client IP addresses, etc., etc.... -- ... `·.¸¸.·´¯`·.¸¸.·´¯`·-> rodney |
#32
| |||
| |||
|
|
nope.. if the app aborts, crashes, etc.. the entry is left open, just like the lock file (g) ====================== |
#33
| |||
| |||
|
|
Robert, You idea sounds like a good safeguard and far better than just copying all files and hoping noone is using the application because of the late hour. I have one question however. You can find out if anyone is using a copy by searching for files like *.lck. If there are none, you know no-one is using the database using the Borland Database Engine. If there are any *.lck files, and you can delete them, they have been left over through the BDE being abended. How do I know the difference between a .lck file 'left over through the BDE being abended' and an actual user lock? I'm not sure what you mean by 'BDE being abended'. Can you clarify? Thank you. John |
#34
| |||
| |||
|
|
Thanks for the responses everyone. I just read them today and I appreciate the thoughtfulness you all give to the forum. First off, we are not going to buy any paradox support tools so whatever we do it will be at the OS level. Here is what I am thinking after reading the post. 1) Schedule a nightly job at a time when it is very VERY unlikeley anyone is in the system. 2) Search the directory for .LCK files until there are none 3)rename the directory 4) copy the files 3)rename the directory back to the original name Does this sound about right? Are there any reasons a .lck file might hange around even if noone is using the application? Again, thanks for all your help. Cheers john "john ligda" <jligda (AT) offithall (DOT) com> wrote: Hello, I am very new to paradox databases but have some familiarity with Oracle and MS SQL rdbms concepts. I would like to learn how to safely copy paradox data files while the database is operatonal. Is this possible? Im used to some sort of admin tool which hides the complexity involved in preserving a valid database state. I have no idea if such a tool exists for paradox databases. To add to the confusion, I will not be allowed to touch the production tables myself. I will instead, be prviding a safe solution to the administrator so that he can provide me with consistant refreshes of the production tables. We want to do this nightly. Our first attempt was to simply copy the data directory with Windows OS commands. He delivered a directory of .DB, .TV, .PX files. I was able to extract data from the .DB tables but have no idea if the data transaction integrity is preserved. In fact, on one table there is a violation of the primary key on the very last record. I suspect the copy is corrupt because of the way it was copied. But honestly i have no idea. Can anyone direct me to a resource where I can read about basic administration for paradox databases? Specifically how to safely copy/mirror/replicate source systems without affecting daily operations of end users. |
![]() |
| Thread Tools | |
| Display Modes | |
| |