| | |
Best choise for a local application database
Please support our C# advertiser: Intel Parallel Studio Home
![]() |
•
•
Join Date: Dec 2004
Posts: 1,655
Reputation:
Solved Threads: 35
For C#, I recommend their newest database creation, SQL Server Express 2005. It's a destop version of SQL Server:
http://msdn.microsoft.com/vstudio/express/sql/
http://msdn.microsoft.com/vstudio/express/sql/
I have a question about that. Why is SQL Express a better choice than an Access database? Is it easier, better performing, more flexible or what? Or is it more a matter of personal preference? Also, if one distributes an app storing data in an SQL database, wouldn't the user need to install SQL Express on their machine?
I'm asking because it seems (to me) that using SQL would be easier, but I am much more familiar with Access. I'd like to know which would be the better choice to learn with going forward.
I'm asking because it seems (to me) that using SQL would be easier, but I am much more familiar with Access. I'd like to know which would be the better choice to learn with going forward.
:!: In The Beginning, God; In The End, God. In between, believe whatever you like. :)
•
•
Join Date: Dec 2004
Posts: 1,655
Reputation:
Solved Threads: 35
Mainly personal preference, though I would guess SQL Server is faster than Access.
Also, in terms of overall support, I think you'll find higher quantity and quality support/articles discussion for SQL Server than Access.
Plus, in C#, there are specific namespaces for SQL Server, whereas with Access, you'd have to go through ODBC.
Also, in terms of overall support, I think you'll find higher quantity and quality support/articles discussion for SQL Server than Access.
Plus, in C#, there are specific namespaces for SQL Server, whereas with Access, you'd have to go through ODBC.
I'm currently using an Access database for a project I'm working on.
My reason for it is that it's pretty easy to embed the connectionString in an app.config file, and change the location of the database. Since it's a local file, it's portable (ie, you can zip up the application, the config file, and the database file) to use on other machines.
I guess a typed binary file would work, but if you're talking about .NET, it just seems easier to me to use an Access database for such a small application. If you were wanting to go with something where people would collaborate on or share the data, I'd move to SQL Server Express.
My reason for it is that it's pretty easy to embed the connectionString in an app.config file, and change the location of the database. Since it's a local file, it's portable (ie, you can zip up the application, the config file, and the database file) to use on other machines.
I guess a typed binary file would work, but if you're talking about .NET, it just seems easier to me to use an Access database for such a small application. If you were wanting to go with something where people would collaborate on or share the data, I'd move to SQL Server Express.
Alex Cavnar, aka alc6379
File from SQL express edition can be portable as well, so you can embedd them into your project, therefore another advantage of SQL express edition over Access is it's storage volume
Access: 2GB
SqlEX: 4 GB
and another advantage most important is that Access won't work as well as SqlEX with relationional tables. Access was not designed for relational table fashion, its morelike where you have more columns per table and less tables, meanwhile SQLEX will work best when you have multiple tables and you join them to get the desired results as well you gain on normalization and volume space, speed, etc,...
Access: 2GB
SqlEX: 4 GB
and another advantage most important is that Access won't work as well as SqlEX with relationional tables. Access was not designed for relational table fashion, its morelike where you have more columns per table and less tables, meanwhile SQLEX will work best when you have multiple tables and you join them to get the desired results as well you gain on normalization and volume space, speed, etc,...
Hi,
You can use SQL quries with Access too as you know. The main problem with SQL Express is the deployment (you need to install it w/ your app) and it isn't free for commercial products. As soon as Microsoft sets SQL Server free I might consider it as an alternative to MS Access (thus also to ADO/Jet Engine) for commercial desktop (where no client/server connectivity is required) projects w/ high data load.
Loren Soth
You can use SQL quries with Access too as you know. The main problem with SQL Express is the deployment (you need to install it w/ your app) and it isn't free for commercial products. As soon as Microsoft sets SQL Server free I might consider it as an alternative to MS Access (thus also to ADO/Jet Engine) for commercial desktop (where no client/server connectivity is required) projects w/ high data load.
Loren Soth
Best regards,
Loren Soth
Crimson K. Software _________________________________________________________________ Crimson K. Blog
Loren Soth
Crimson K. Software _________________________________________________________________ Crimson K. Blog
SQL Express isn't free for distribution? If not, that pretty much settles it for me, since the other differences between that and Access seem to be mainly a matter of personal preference. Regarding the maximum database size, it is doubtful I'd ever develop a program that required anywhere close to even 2GB, so that factor would never come into play.
:!: In The Beginning, God; In The End, God. In between, believe whatever you like. :)
•
•
Join Date: Jul 2005
Posts: 483
Reputation:
Solved Threads: 19
SQL express is free, or at least it was a month or two ago when I downloaded it. I can't imagine that would have changed. Also sqlexpress supports sub-queries, which I don't believe access does. Also, in my experience, sqlexpress recovers better from errors than access. I have had instances where there was an error and the access connection would not start working again without rebooting.
![]() |
Other Threads in the C# Forum
- Previous Thread: type of data or what
- Next Thread: Inserting Elements into existing XML
| Thread Tools | Search this Thread |
.net access algorithm array barchart bitmap box broadcast c# check checkbox client combobox control conversion csharp custom customactiondata database datagrid datagridview dataset datastructure date/time datetime datetimepicker degrees development dll draganddrop drawing encryption enum event excel file filename files form format forms function gdi+ gis gtk hash httpwebrequest image index input install java label list listbox mandelbrot math mouseclick mysql operator outlook2003 path photoshop picturebox pixelinversion pixelminversion post programming radians regex remoting richtextbox server sleep snooze socket sql statistics stream string table tables tcp text textbox thread time timer update usercontrol usercontrols validation visualstudio webbrowser webcam wia windows winforms wpf xml






