21

私のSqlCE3.5データベースを4.0に更新する必要があります。Sql Server CE 3.5 sdfデータベースをSql Server CE 4.0にアップグレードするにはどうすればよいですか?

私は新しいCE4.0接続が提供使用して、私の3.5 SDF /データベースにアクセスしようとしているとき、私は次のようなエラーメッセージが表示されます: -

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.

私はこれを行うことができますどのように誰もが知っていますか?明らかに私はそれをプログラマチックに行う必要がありますが、私は何をすべきか、何を追加する必要があるのか​​よくわかりません。

乾杯!

+1

明らかではありませんか? 'SqlCeEngine.Upgrade()'を呼び出してください!それとも問題がありますか?また、異なるバージョン間の非互換性にも注意してください。 – leppie

+0

ヒント:いくつかのコード例を参照してください。私はいくつかのコードを試したとき、それはコンパイルできませんでした。 –

+0

@leppie:i)どこ?どんな状況で?どのような議論で? ii)SqlCeEngineにはUpgrade()という名前のメソッドが含まれていません。メッセージは役に立たない。 –

答えて

14

System.Data.SqlServerCe.SqlCeEngine.Upgradeを呼び出します。サンプルコードを含むMSDNを参照してください。単に

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

8

あなたはこのエラーを見たときにアップグレードする必要はありません

  1. 右クリックし、[参照]タブに移動し、
  2. プロパティ]を選択し、ソリューションエクスプローラでプロジェクトを
  3. System. Data.SqlServerCe Type/net version/4.0という名前の参照が表示されます - この項目を削除します(項目を選択してから、このウィンドウの下部にある削除をクリックします)。
  4. 「削除」ボタンの左側にある「追加...」ボタンをクリックしてください。
  5. 「.NET」タブでSystem.Data.SqlServerCe 3.5を見つけて追加してください。
  6. プロジェクトをコンパイルしてください!

これはうまくいくと思います。

+2

はい、アップグレードする必要はありません。 .NETタブでSystem.Data.SqlServerCeが見つからない場合は、C:¥Program Files¥Microsoft SQL Server Compact Edition¥v3.5¥Desktop – Brij

+0

からの参照を追加してください。このアドバイスは非常に予期しています。Visual Studio 2015では、マシン上にSqlServerCeのv3.5バージョンが存在しない可能性があります。 v3.5への参照を追加することを提案する場合は、システムにそのバージョンがない場合に、そのバージョンを入手する方法に関する人々のアイデアはありますか? – Jazimov

+0

@ Jazimovあなたは正しいですが、私は3年前にあなたのコメントの前にこの質問に答えました。2013年にはこれはかなり正常なアプローチでした。 – zviad

関連する問題