views:

373

answers:

5

I have a client that currently uses a local Advantage Database on their PC along with an application. They are thinking of upscaling their setup to have multiple applications running communicating with a database server i.e/a client-server environment.

They are now considering the best database for this approach. They are looking at the Advantage Database Server product in comparison to SQL Server Express(the application does not warrant a full SQL Server at this stage).

Obviously SQL Server is a more well known product probably with more support but I was hoping you could give me some opinions and thoughts on what you think the best product would be in terms of performance, stability and support.

One thing to note although not directly relevant is that the application is currently written in Delphi and there could be a move to C# to bring it up to date.

+3  A: 

The migration from a local Advantage Database to a client/server Advantage database is a very simple process. It simply involves changing the connection properties within the program. There are no other coding changes that need to be done.

Advantage has a great support team and has been in development for over 15 years. The stability and support are at least equal to SQL Server.

Advantage also provides a .NET Data Provider which would allow for C# development.

Chris Franz
+2  A: 

I happen to be a support rep for Advantage so when you say "Obviously SQL Server is a more well known product probably with more support" I have to argue a bit.

As Chris stated switching from Advantage Local Server to the the Advantage Remote (client/server) Server is a pretty painless process - they designed it that way.

  1. Install the Advantage Database Server on a machine where the data is located (not a requirement but it's recommended). You can get a free trial here: http://marketing.ianywhere.com/forms/ADS91-30-Day

  2. Within the application there will be TAdsConnection component(s) - change the TAdsConnection.ConnectionType to 'REMOTE' (http://devzone.advantagedatabase.com/dz/webhelp/Advantage9.1/mergedProjects/ade/sec7/connectiontype.htm)

  3. You can specify the path (TAdsConnection.ConnectPath) from the clients in a couple different ways but the recommended is: \\server:6262\mydata

http://devzone.advantagedatabase.com/dz/webhelp/Advantage9.1/mergedProjects/ade/sec7/connectpath_tadsconnection.htm

Note: 6262 is the port used by default (may need to add an exception to the firewall). Also if your application uses a data dictionary the path would include the name of the .ADD file (e.g. \\server:6262\mydata\mydd.add)

Hope this helps!

Joshery
What does a ADD do and do you have any examples?
Jon
@Jon The Advantage Data Dictionary in a nutshell allows you to store meta-data about all of your ADS tables which then opens up the possibility for a bunch of features including:-Referential Integrity-Default Field Values-Field Level Constraints-Flexible User Access Control-Stored Views-Stored Procedures-TriggersAnd others... for more information check out the help file: http://devzone.advantagedatabase.com/dz/webhelp/Advantage9.1/advantage_concepts/advantage_functionality/advantage_data_dictionary.htmAlso, switching from a non ADD environment (free tables) to using an ADD is easy.
Joshery
We do have example code on our developer website: http://devzone.advantagedatabase.com/ Just go to CodeCentral in the menu. If you want an example of something specific let me know and I might be able to point you in the right direction.
Joshery
All of the help files are online too. See the "Online Help Files and Documentation" on the menu bar at http://devzone.advantagedatabase.com
Jeremy Mullin
+4  A: 

ADS wins hands down. It is maintenance-free. It is extremely reliable. It is extremely fast. It is extremely scalable. SQL is very well supported, and the ADS newsgroups are responsive (answers within hours instead of days on SQL server fora) and well-informed. I have been using ADS since 1991 and it has never gone wrong! My users are incredibly demanding and to be able to turn round solutions within hours instead of days, is both a joy to me and a business incentive to the end users and clients. Deployment is gentle, fast and simple. Platform support is better than SQL server. 64-bit server deployment abounds and is well-grounded, transparent and reliable. 64-bit clients are coming in the next version (10). My experience with ADS is wholly positive, whereas my ventures with SQL server have been fraught with difficulties, idiosyncrasies and workrounds!

graphic
I do have to disagree on one point, I have found SQL Server fora to answer within seconds or minutes not days. Maybe you have gone to the wrong forums.
HLGEM
+3  A: 

I have developed for both SQL Server and Advantage. They each have their pros and cons (although now I favor Advantage).

Given your situation, however, this decision appears to be a no-brainer: Advantage Database Server. Why? It's already done!

My Advantage programs run, unmodified, against the same database either locally or remotely. All I change is the connection string. I'm not saying that your customer's code won't have to be changed. I am saying it is likely to be trivial. Compare that to the greater effort involved in switching to a whole new database engine.

Pete R.
The app maybe rewritten in C# so a database change would be not a big issue in this case
Jon
No matter what you change your main code to (C#, Delphi, whatever) the connection to the database needs to stand, nicely, on its own. Because of everything that has been said in favor of Advantage (yes, I work with it daily) and because you really don't need to buy yourself extra work in handling a conversion, I'd recommend you stick with Advantage. I like it better than SQL Server in an either/or situation, but in this case, since you are there already, you are just asking for extra work if you switch from Advantage. Move to Advantage Database Server, easy, quick, you'll be glad you did.
Doug Johnson
+3  A: 

In general I'm a SQL Server person all the way. I work with id daily and have for almost ten years, but in your situatuion, it seems silly to consider moving to a new database when there is aclear upgrade path to do what you want using the backend you already have. It would be much less work and far less likely to introduce new bugs to stay within the same database family.

HLGEM
The app maybe rewritten in C# so a database change would be not a big issue in this case
Jon