4

I use winforms to develop a desktop application, and right now I plan to use SQL server express, but the problem is, if i use sql server express, then the installation is much trouble, i need to install sql server first, and install my own applicaiton.

Then I tried to use access 2003 as my database, then I only need to copy the mdb file with my application. But the access 's function is not that strong, the text length is limited to 255 byte.

Is there any other database solution, which is easy to integrate to my application, and easy to install after i develop my application ?

Many many desktop application have their own database, and easy to install and easy to use, what database do they use ?

MemoryLeak
  • 7,322
  • 23
  • 90
  • 133
  • 1
    BTW: Access is not limited to 255 bytes for text fields (it is characters, not bytes anyway). It also has a memo field type which can be much longer. Also, it would help if you were specific about what functionality Access doesn't have that you need. I'm betting that you are underestimating it. – JohnFx Mar 14 '10 at 15:07
  • anyway, thanks, you are right ,it 255 characters but not 255 bytes. – MemoryLeak Mar 15 '10 at 03:42

3 Answers3

12

SQLite. Extremely robust and easy to work with, and has C# bindings. It is now the most widely deployed embedded database. The DLL is under 300Kb.

Alex Jenter
  • 4,324
  • 4
  • 36
  • 61
3

Use SQL Server Compact Edition (CE). It's free, and comes with Visual Studio. It's file-based, but can easily synchronize with a "real" SQL Server database.


I was going to post a list of links to SQL CE information, but I found too many good links with the following search: http://social.msdn.microsoft.com/Search/en-US?query=sql+server+compact+edition.

John Saunders
  • 160,644
  • 26
  • 247
  • 397
  • yeah, it's good as well! thanks, is it convenient to port from sql server compact edition to sql server 2005 ? – MemoryLeak Mar 14 '10 at 14:33
  • is it easy to deploy compact edition with my desktop application ? do I need to install it separately ? – MemoryLeak Mar 14 '10 at 14:41
  • @MemoryLeak: the two are identical for most purposes. I don't know if SqlCE does full text search, but I don't think there are any other limits in the DML. – John Saunders Mar 14 '10 at 15:01
2

you can try Non-Sql db, like Db4o, it's:

  1. easy to set up
  2. easy learning curve
  3. C# native
  4. Object oriented
  5. Light weight
Benny
  • 8,547
  • 9
  • 60
  • 93
  • My impression is that oodb's is good at much, but lack (only?) at reporting, where rdbs's have their design strength. For small databases I suspect there should be zero to no troubles using a oodb. – Thor Hovden Mar 14 '10 at 13:44