Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I upgrade my Sql Server CE 3.5 sdf database to Sql Server CE 4.0?

Tags:

I need to update my SqlCE3.5 database to 4.0.

I get the following error message when I'm trying to access my 3.5 sdf/database using the new CE4.0 connection provide :-

System.Data.EntityException: The underlying provider failed on Open. ---> System.Data.SqlServerCe.SqlCeInvalidDatabaseFormatException: The database file has been created by an earlier version of SQL Server Compact. Please upgrade using SqlCeEngine.Upgrade() method.

Anyone know how I can do this? Obviously I need to do it programatcially but i'm not sure what I should do / what references I need to add, etc.

Cheers!

like image 852
Pure.Krome Avatar asked Jan 20 '11 07:01

Pure.Krome


People also ask

How do I update existing SQL Server?

To upgrade an existing instance of SQL Server to a different edition, from the SQL Server Installation Center click Maintenance, and then select Edition Upgrade. If Setup support files are required, SQL Server Setup installs them. If you are instructed to restart your computer, restart before you continue.

What is SDF file in SQL Server?

An SDF file contains a compact relational database saved in the SQL Server Compact (SQL CE) format, which is developed by Microsoft. It is designed for applications that run on mobile devices and desktops and contains the complete database contents, which may be up to 4GB in size.


2 Answers

Call System.Data.SqlServerCe.SqlCeEngine.Upgrade. See MSDN, which contains sample code.

like image 88
Timores Avatar answered Sep 27 '22 21:09

Timores


You needn't upgrade when you see this error:

The database file has been created by an earlier version of SQL Server Compact. Please upgrade using SqlCeEngine.Upgrade() method.

Simply:

  1. Right-click your Project in Solution Explorer
  2. Choose properties, go to References tab
  3. You'll see a reference called: System. Data.SqlServerCe Type/net version/4.0 - delete this item (select item and then click remove in the bottom of this window).
  4. Click on the "add..." button left of the "remove" button
  5. In the .NET tab, find System.Data.SqlServerCe 3.5 and add this.
  6. Compile your project!

I think this will work.

like image 34
zviad Avatar answered Sep 27 '22 20:09

zviad