Reputation: 21
I have an application (currently in foxpro) that uses about 12 tables that can be networked. The tables are related in various ways, but not unduely complex - more like a customer ordering system
I want to rewrite it in C# using MS Visual Studio. The Application is desktop only but with up to 5 users able to access it at any given time.
The question is which DB should I use? It needs to be:
I have looked at SQL Express but the sharing issue looks to be fairly complex and installation for SQL on a server computer is required. DB4O seems to be for more media rich applications.
I am fairly new to C# (and now getting long in the tooth as well) so I need this to be a reasonably painless way to achieve what I already have in Foxpro.
Some may ask why change - well, there are things that we want to be able to add in the future that would stretch Foxpro too far.
I have spent a couple of weeks researching this and now would really appreciate any help that people could offer.
Upvotes: 1
Views: 2096
Reputation: 9975
Have you considered using a Document Database rather than the typical Releationl Databases being discussed here?
One that is very friendly in the .Net space is RavendDB.
Work through this simple "Hello World" tutorial (shows some basic CRUD coding) in Visual Studio to get a feel for how it works: http://ravendb.net/tutorials/hello-world
Upvotes: 0
Reputation: 3044
Just to stir the pot a bit, if you're connected to the internet you could give a SQL Azure Database a whirl.
No server required; multiple connections not a problem; scalable; maintainable; etc. Synch it with a local database later if you change your mind. MS has a 90 day trial run which would probably suit your investigative purposes.
Downsides are well-covered elsewhere, but mainly it's that internet outage renders your app offline.
It's actually not a bad option if you're looking to get your upgrade up and running quickly.
Upvotes: 1
Reputation: 39950
SQL Server Compact Edition supports multiple clients on the same machine. If you need to connect to the database from multiple computers, you should probably stick with Express Edition.
Upvotes: 0
Reputation: 50970
My policy: If the job can be handled by SQLite (for .NET one option is System.Data.SQLite), use that. On the surface, it sounds like this can.
SQLite is [...] a self-contained, serverless, zero-configuration, transactional SQL database engine. SQLite is the most widely deployed SQL database engine in the world. The source code for SQLite is in the public domain.
Upvotes: 5
Reputation: 19327
mysql... use this driver ODBC drive so that your .NET applications can connect to mysql mysql odbc driver
Upvotes: 0
Reputation: 449
try MySQL, i think there is an easy way to make the database shared along the network (i think it's in the installation process)
Upvotes: 0