![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
|
Hi, I've been exploring .NET development platforms for a while now but whatis stopping me from going on is the following database features I'm looking for: - Have a database which is low cost - Have a database which allow concurrent access (many users accessing it at all levels) - Have a database system which is reliable - Have a database which allow me to change it's layout easily programmatically or remotely whenever I need it. - Have a database which allow me to repair it whenever it's content may become corrupted - Have a database which can work on a single computer environment as well as in a network environment. - Have a database which can be supported by all versions of Windows (2K,XP,Vista) I took a look at SQLAnywhere, but honestly I'm not quite sure if it can fullfill my needs and would really like to hear from those of you who are actively using it within their applications. Any feedback would be greatly appreciated! Thanks in advance, Stéphane |
#2
| |||
| |||
|
|
Hi, Thanks for sharing. I appreciate. "the only real maintenance being when I had to add new functionality to it" For example, if I add a new table or change existing one by adding new field or index, what workload does it represent? How do you perform such modification with SQLA? Thanks again, Stéphane |
#3
| |||
| |||
|
|
Hi, Thanks for sharing. I appreciate. "the only real maintenance being when I had to add new functionality to it" For example, if I add a new table or change existing one by adding new field or index, what workload does it represent? How do you perform such modification with SQLA? |
#4
| |||
| |||
|
|
For example, if I add a new table or change existing one by adding new field or index, what workload does it represent? How do you perform such modification with SQLA? |
#5
| |||
| |||
|
#6
| |||
| |||
|
|
Hi again, Sorry for the delay on my reply but I had to put energy on a big project and put my SQLA study aside for a while... To conclude my investigation regarding database maintenance using SQLA, am I right understanding that, if I have remote customers which have no clue on how to use any form of database tools and those same customers are using C#/C++ apps interfacing with SQLA databases which again need maintenance, I will have no choice but to supply my customers small apps that use SQL scripts made of appropriate CREATE/UPDATE TABLE/INDEX commands so they can update their databases properly? Honestly I really thought that, like Clarion (Softvelocity) apps interfaced with FileManager (Capesoft) which I've used for years, I would be able to have my application check by itself for any differences between it's internal dictionnary and the actual SQL database layout and adjust it accordingly... But I think with SQL, it's definitely a different story... I just want to avoid being onsite everytime a customer application needs such database layout adjustments... Any other comments, advices or hints? Stéphane |
#7
| |||
| |||
|
|
Stéphane, if I understand you correctly, your requirements are: 1. Automated maintenance of databases on customer sites. 2. Have an "internal application-specific data model" (residing in user tables or a textual representation or whatever) and to have an automatism to compare that "required data model" with the current system catalog and then to apply any changes. For 1: When you deliver a SA-based app on remotes sides, clients will of course have to use any kind of licenced SA setup. This typically includes database tools for maintenance actions like doing backups or validation. Those actions can be done with separate command line tools like DBBACKUP (for use in batches and the like), with SQL Statements like BACKUP DATABASE or API-based with the DbTools-API. So you are quite free to use them from within your own app or through separat command files. In order to alter the database schema (i.e. add tables/columns and the like) you will typically use some kind of SQL script with the according DDL statements like ALTER TABLE. This can be run from within your application or with the builtin tools like Interactive SQL and the smaller dbisqlc). (If you are onsite, the GUI-based SQL Central is fine, too, but it's surely not the way to silently do DDL on customer sites.) BTW, a regular "database repair process" is not at all needed with SA in my experience - SA is a real database system, not some kind of MS ACCESS ![]() For 2: SA has no builtin tool for the second point but of course you are free to develop a small tool that would just do that. As every SQL system, SA supports the reading of the system catalog in order to find out what tables/columns exist - see the system tables description for that. And of course you can then build appropriate DDL statements to add just those tables/columns that are missing. (Besides adding, modifying/dropping tables/columns etc. is possible, too - SA has a really powerful ALTER TABLE statement.) HTH Volker Stéphane Beauchemin wrote: Hi again, Sorry for the delay on my reply but I had to put energy on a big project and put my SQLA study aside for a while... To conclude my investigation regarding database maintenance using SQLA, am I right understanding that, if I have remote customers which have no clue on how to use any form of database tools and those same customers are using C#/C++ apps interfacing with SQLA databases which again need maintenance, I will have no choice but to supply my customers small apps that use SQL scripts made of appropriate CREATE/UPDATE TABLE/INDEX commands so they can update their databases properly? Honestly I really thought that, like Clarion (Softvelocity) apps interfaced with FileManager (Capesoft) which I've used for years, I would be able to have my application check by itself for any differences between it's internal dictionnary and the actual SQL database layout and adjust it accordingly... But I think with SQL, it's definitely a different story... I just want to avoid being onsite everytime a customer application needs such database layout adjustments... Any other comments, advices or hints? Stéphane |
![]() |
| Thread Tools | |
| Display Modes | |
| |