Login ProductsSalesSupportDownloadsAbout |
Home » Technical Support » DBISAM Technical Support » Support Forums » DBISAM General » View Thread |
Messages 11 to 20 of 35 total |
A few question on V4 |
Wed, Sep 6 2006 5:57 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Matt,
<< The ideal would be that these could be set per database and by code. Perhaps a wish for ElevateDB? >> ElevateDB uses paths also. -- Tim Young Elevate Software www.elevatesoft.com |
Wed, Sep 6 2006 6:01 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Robert,
<< I understand that, I just don't think it's right. There is no reason workstations should have knowledge of "path that is accessible to the server machine". >> I disagree. I think that executing a backup on a remote machine is an admin task and the user executing the task should definitely know which destination directory they're putting the backup in (among several other important pieces of information). Backups can be very large and time-consuming, and this is not a normal user function like inserting or updating rows in a table. -- Tim Young Elevate Software www.elevatesoft.com |
Wed, Sep 6 2006 11:12 PM | Permanent Link |
"Robert" | "Tim Young [Elevate Software]" <timyoung@elevatesoft.com> wrote in message news:47098019-BE77-4061-A247-D52CC82F42DD@news.elevatesoft.com... > Robert, > > << I understand that, I just don't think it's right. There is no reason > workstations should have knowledge of "path that is accessible to the > server > machine". >> > > I disagree. I think that executing a backup on a remote machine is an > admin task and the user executing the task should definitely know which > destination directory they're putting the backup in (among several other > important pieces of information). Backups can be very large and > time-consuming, and this is not a normal user function like inserting or > updating rows in a table. > Look, the person executing the backup does not "know" anything. It is the program that "knows". And how does the program find out? It either uses a database alias (good) or it has a hardcoded path (bad). My only point is that a C/S DBAdmin system should allow me to login to any terminal as a "user who can do backups", and perform a backup regardless of this specific terminal mappings, just by telling the server "backup MyDatabase to MyDatabaseBackup", and the database system should figure out the mappings. Also, the IT administrator should be able to move the location of the database files and the backup files (by pointing the alias to a different physical location) without me, as a user of the system, even knowing that things have changed. I still open database "Mydatabase", do backups to "Mydatabsebackup". That's the whole purpose of the database alias, it uncouples the physical location of the database from the logical database name that the program will access. Why should not the backup location be subject to the same rules? If somebody in IT decides that MyDatabase now should be located in \\server2\ instead of \\server1\ they should be able to move the files, point the alias to the new location, and that's that. The same thing should be true of the backups. With your scheme, I have an application that in order to do a backup needs to know server names, subfolders, etc. Not good. And in particular, hard to explain to IT administrators. Why should I go to an application program in order to change the location of files? Makes no sense. As to the issue of who decides when to do a backup, I have several applications that know when to do a backup. It happens with no operator intervention whatsoever. Tim, in real life you don't give people that many choices. You tell them "at this point in the process, you do a backup" or better yet, you do it for them. Don't think that "the user executing the task should definitely know which destination directory they're putting the backup in (among several other important pieces of information)." That's not real life. You tell them "at 3:30 PM, you run the backup". That's about it. They don't know the "directory" they are going to, nor do they care. Robert |
Thu, Sep 7 2006 1:21 AM | Permanent Link |
Jeff Cook | "Robert" <ngsemail2005withoutthis@yahoo.com.ar> wrote on Wed, 6 Sep 2006 23:08:26 -0400
>not real life. You tell them "at 3:30 PM, you run the backup". That's about >it. They don't know the "directory" they are going to, nor do they care. > If fact they may well not even know what a "directory" is! I'm with Robert on this one. _None_ of our users have anyone who could be called a DBAdmin, most of them can barely use basic Windows stuff like Explorer (for some this is the first encounter with a computer) and that's OK because we write the applications that they use and they shouldn't have to worry about the technical stuff. Cheers Jeff -- Jeff Cook Aspect Systems Ltd Phone: +64-9-424 5388 Skype: jeffcooknz www.aspect.co.nz |
Thu, Sep 7 2006 7:18 AM | Permanent Link |
> _None_ of our users have anyone who could be called a DBAdmin
Indeed, this is why I like DBISAM - you can set it all up and manage it from your own code. I'll confess I've not used the client/server, but I'd have to work out a good way of resolving this I think. Presumably a work-around is to have a table of aliases, and the server- side installer could create this and set the local location path for the backups. Then the client doing the backup could read the table on the server and get the path to be used. Thus the administrator could use a server-side (or client side I suppose) app to change that alias. This provides what is required, but it would be nice to not have to implement it for each developer. /Matthew Jones/ | |
Thu, Sep 7 2006 3:58 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Robert,
<< Look, the person executing the backup does not "know" anything. It is the program that "knows". And how does the program find out? It either uses a database alias (good) or it has a hardcoded path (bad). >> Did you know that you can very easily find out the path of a database in DBISAM via this method ? http://www.elevatesoft.com/dbisam4d5_tdbisamsession_getremotedatabase.htm If the user isn't inputting the path, then just use this method to retrieve the path from the database server and use the retrieved path in the backup method call. I was under the impression that you *wanted* the user to input the backup desinatation path. << My only point is that a C/S DBAdmin system should allow me to login to any terminal as a "user who can do backups", and perform a backup regardless of this specific terminal mappings, >> Terminal mappings have nothing to do with it. The path required by the backup is relative to the server machine, not relative to the workstation. << Also, the IT administrator should be able to move the location of the database files and the backup files (by pointing the alias to a different physical location) without me, as a user of the system, even knowing that things have changed. I still open database "Mydatabase", do backups to "Mydatabsebackup". >> See above. << That's the whole purpose of the database alias, it uncouples the physical location of the database from the logical database name that the program will access. Why should not the backup location be subject to the same rules? >> Because it isn't a database path, it's a physical path where backups are stored. If you want to decouple the backup path for the user in your application, then feel free to do so. However, we will not be changing the backup to use a database alias for the backup destination. << Tim, in real life you don't give people that many choices. >> Okay, now you're lecturing me, and that is not acceptable. I've been developing applications for over 16 years now, and I know very well what it's like in *real life*. Here are your choices: 1) If you want an unattended backup, then code a scheduled event in the database server to do a scheduled, unattended backup every day, etc.: http://www.elevatesoft.com/dbisam4d5_customizing_engine.htm 2) If you want the user to initiate the backup, then either the user must know what directory to store the backup in or your application must know by querying the database server for it, either via a database path or via a server-side procedure that returns paths to use for database backups: http://www.elevatesoft.com/dbisam4d5_customizing_engine.htm http://www.elevatesoft.com/dbisam4d5_calling_server_procedures.htm As far as I can see, that covers every possible combination of needs that one might have. -- Tim Young Elevate Software www.elevatesoft.com |
Thu, Sep 7 2006 5:02 PM | Permanent Link |
"Robert" | "Tim Young [Elevate Software]" <timyoung@elevatesoft.com> wrote in message news:2B6F61A5-BEFF-4A53-82F5-C0E3B11AAF01@news.elevatesoft.com... > Robert, > > << Look, the person executing the backup does not "know" anything. It is > the program that "knows". And how does the program find out? It either > uses a database alias (good) or it has a hardcoded path (bad). >> > > Did you know that you can very easily find out the path of a database in > DBISAM via this method ? > > http://www.elevatesoft.com/dbisam4d5_tdbisamsession_getremotedatabase.htm > You have to be connected as an administrator, the way I understand it. It's a possibility, but it still does not give the DBAdmin the option to say "the backup for MyDatabase goes from now on to drive E:", and have the program, without modification, seamlessly continue doing its backups which now get stored on a different drive, maybe different media altogether. I guess we could create two databases, one for the data, one for the backup, with some name convention that will allow me to query the server for the location of the backup. Clunky but feasible. > If the user isn't inputting the path, then just use this method to > retrieve the path from the database server and use the retrieved path in > the backup method call. I was under the impression that you *wanted* the > user to input the backup desinatation path. > What I want is "backup MyDatabase to MyDatabaseBackup", where both are aliases set up by the administrator. > << My only point is that a C/S DBAdmin system should allow me to login to > any terminal as a "user who can do backups", and perform a backup > regardless of this specific terminal mappings, >> > > Terminal mappings have nothing to do with it. The path required by the > backup is relative to the server machine, not relative to the workstation. > OK, the semantics was wrong. My point is that no hardcoded paths should be necessary in C/S. > > << That's the whole purpose of the database alias, it uncouples the > physical location of the database from the logical database name that the > program will access. Why should not the backup location be subject to the > same rules? >> > > Because it isn't a database path, it's a physical path where backups are > stored. And the database alias points to a physical path where the data tables are stored. Conceptually, no difference. If you want to decouple the backup path for the user in your > application, then feel free to do so. However, we will not be changing > the backup to use a database alias for the backup destination. > Your system, your choice. > << Tim, in real life you don't give people that many choices. >> > > Okay, now you're lecturing me, and that is not acceptable. What is not acceptable is that you get your panties in a bunch on a civilized discussion on system design. The fact is that everybody that has chimed in into this thread thinks that my request is valid (and, please remember, they happen to be your customers), and I'm looking for the best solution, not to be "right" or "wrong". I just have trouble explaining to a customer something that I myself consider illogical. You don't convince that your system is correct using logic, you just dictate based on the fact that you are the boss. Fine. I'm sure I'll come up with an adequate workaround. Unbelievable. Robert |
Thu, Sep 7 2006 10:29 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Robert,
<< You have to be connected as an administrator, the way I understand it. >> It's a simple matter to connect to the admin port via a separate session at application startup to retrieve this information. The user doesn't even need to know that it is going on. << It's a possibility, but it still does not give the DBAdmin the option to say "the backup for MyDatabase goes from now on to drive E:", and have the program, without modification, seamlessly continue doing its backups which now get stored on a different drive, maybe different media altogether. >> Yes it does, provided that you change the database path using the facilities in DBISAM for doing so. The same is required when you move a database to a different location. << I guess we could create two databases, one for the data, one for the backup, with some name convention that will allow me to query the server for the location of the backup. Clunky but feasible. >> It's basically exactly what you want. << What I want is "backup MyDatabase to MyDatabaseBackup", where both are aliases set up by the administrator. >> See above. << OK, the semantics was wrong. My point is that no hardcoded paths should be necessary in C/S. >> Practically every single database server out there uses hard-coded paths/volume information for backups. Here's a link to MS SQL Server's backup info: http://www.microsoft.com/technet/prodtechnol/sql/2000/maintain/sqlbackuprest.mspx#EMMAC << And the database alias points to a physical path where the data tables are stored. Conceptually, no difference. >> They're more than just that - databases in DBISAM are not just aliases. And with ElevateDB they are definitely way more than just an alias. << What is not acceptable is that you get your panties in a bunch on a civilized discussion on system design. >> If you feel that my comments were out of line, then I apologize. However, the problem I have here with your comments is that you don't seem to want to take my answer as the final say. Sometimes decisions have to be made that are contrary to what some customers feel is correct, and this is one of those cases. As I stated in my very first response - backups are executed from the context of the database server. Therefore, the backup path must be specified relative to the database server. I've given you alternatives that will do what you want, so hopefully that is enough. -- Tim Young Elevate Software www.elevatesoft.com |
Thu, Sep 7 2006 10:51 PM | Permanent Link |
"Robert" | "Tim Young [Elevate Software]" <timyoung@elevatesoft.com> wrote in message news:CE1B27A4-C1C8-4CEA-B8F1-692F6D7DF5D2@news.elevatesoft.com... > > Practically every single database server out there uses hard-coded > paths/volume information for backups. Here's a link to MS SQL Server's > backup info: > > http://www.microsoft.com/technet/prodtechnol/sql/2000/maintain/sqlbackuprest.mspx#EMMAC > This is not what we were talking about, and you know it. The question is doing a backup from inside your program, where you conceivably don't even know the name of the server, let alone if drive D: in the server is a CD or a tape or a hard drive. All you have at the terminal level is an IP address in the HOSTS file, and a database alias. So when somebody in IT reconfigures the server, my application crashes trying to backup to the wrong device. Lovely. > those cases. As I stated in my very first response - backups are executed > from the context of the database server. So is a table.open, but for that I don't need to know the physical path in the server, just the IP address of the server and the alias of the database. Go figure. Anyway, I'm done with this conversation. I'll find a solution. Robert |
Fri, Sep 8 2006 2:27 AM | Permanent Link |
Jason Lee | Why would you want to backup one database to another database? The
backups in DBISAM are compressed monolithic files not resembling a database. Am I missing something here? If DBISAM backups were simply a copy operation of all tables, then I could understand a database to database operation. |
« Previous Page | Page 2 of 4 | Next Page » |
Jump to Page: 1 2 3 4 |
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 |