Pure.Krome
Pure.Krome

Reputation: 86957

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

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!

Upvotes: 22

Views: 31734

Answers (2)

zviad
zviad

Reputation: 648

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.

Upvotes: 10

Timores
Timores

Reputation: 14589

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

Upvotes: 14

Related Questions