0

コード ファースト アプローチ アプリケーション mvc を作成し、sdf ファイル db を作成しました。今、その sdf ファイルを SQL サーバーに移行したいと考えています。

sdfをダブルクリックすると、次のようなメッセージが表示されますThis is not a valid SQL Server Compact Database file or this file version is not supported by current SQL Server Compact Engine.

データを移行し、今後のより良いアプローチの SQL サーバーにデータを同期したいのですが、どうすればデータベースを移行できますか?

4

1 に答える 1

1

エラー メッセージの原因として、開発用コンピューターに正しいバージョンの SQL Server Compact がインストールされていないことが考えられます。

現在のバージョンは 4.0 ですが、アプリケーションはまだ 3.5 を使用している可能性があります。それがどのバージョンであるかを調べ、フォルダーC:\Program Files\Microsoft SQL Server Compact Editionを調べて、そのバージョン名のディレクトリがあるかどうかを確認します。ない場合は、ダウンロードしてインストールします ( 3.54.0 )。

SqlCE 4.0 と Visual Studio 2010 Pro 以降を使用している場合、Visual Studio の Extension Manager から入手できるErikEJ の SQL Server Compact Toolbox 3.3.0.4を使用して、sdf の構造とデータを移行できます。

ツールボックスをインストールした後の移行手順は次のとおりです。

  1. ツールボックスを使用して、Visual Studio 内の sdf ファイルに接続します。

  2. コンテキスト メニューから、 [スクリプト データベース] > [スクリプト データベース スキーマとデータ] を選択します ([スクリプト データベーススキーマとデータと BLOBS ]は選択しないでください)。これにより、sdf の大きさに応じて、1 つ以上の '.sqlce' スクリプト ファイルが保存されます。

  3. SQL Server インスタンスで、空のターゲット データベースを作成します。

  4. Sql Server インストールの SQLCMD.exe を見つけます。SQL Server 2008 の場合、通常はC:\Program Files\Microsoft SQL Server\100\Tools\Binnにあります。管理者権限で通常の cmd.exe を開き、SQLCMD.exe を含むディレクトリに移動します。

  5. そこから、次を実行します。

sqlcmd -S [SQL サーバー インスタンス名] /d [ターゲット データベース名] -i [フル パス][ファイル名].sqlce

複数の sqlce ファイルがある場合は、次のように同じコマンドでそれらを参照できます。

sqlcmd -S [SQL Server インスタンス名] /d [ターゲット データベース名] -i [フル パス][ファイル名_0].sqlce -i [フル パス][ファイル名_1].sqlce -i [フル パス][ファイル名_2].sqlce

サーバー オプション -S は大文字にする必要があります。幸運を。

于 2013-04-08T18:36:08.230 に答える