2

I have developed C# application that stores and retrieves data from SQL database. But when my client had to deploy the application he needed to install sql server express 2008 ,that is its requirement.Now he wants that software to install with no extra installing add-on.so i except for dot net framework there should not be anything extra to install.

i have seen some databases like SQL compact,SQL lite ,SQL CE and blackfishSQL but i really donot know that do they require extra install and what effort do i have to make to change my whole code according to selected database I looked at this Please help me

Community
  • 1
  • 1
Afnan Bashir
  • 7,319
  • 20
  • 76
  • 138

3 Answers3

6

I suggest going with SQLite or Server Compact (SQL CE). They don't require extra install.

Another option is to include SQL Server Express in your setup project, so it will be installed automatically if needed.

SQLite has a reputation of being fast and robust.
However, if you like Microsoft products and you already have everything working in SQL Express, then SQL CE might be a better choice from development tools support point of view.

Alex Aza
  • 76,499
  • 26
  • 155
  • 134
0

I'm sure the original poster no longer needs this information anymore - but for the sake of others googling the same issue - let me add a bit of my own.

I'm only recently in the process of converting a C# program from using SQL Express to SQL Compact - and its relatively easy when compared to converting to a SQLite project. The code is extremely simple. Where in SQL Express you might use SqlCommand, this simply becomes SqlCeCommand. Very easy to convert from one to the other.

Mike Baxter
  • 6,868
  • 17
  • 67
  • 115
0

SQLite is by far the most popular option usually considered for such scenarios. It does not require any extra installation..the DB interface itself is available in a dll and all u need to interact with your database is the interface dll. As to the extent of efforts that would be required to port your application, it would depend on the extent to which you have used Sql Server specific SQL constructs..the closer your code is to ANSI SQL, the easier it would be to port it to any other ANSI SQL compliant database like SQLite. Usually the task becomes much easier if you have used ORM technologies in your application, since they provide an additional layer of abstraction between you client code and the database

Aadith Ramia
  • 10,005
  • 19
  • 67
  • 86