エラー メッセージに記載されている KB 記事を参照してみましたか?
http://support.microsoft.com/kb/974247
原因
Compact ベースのアプリケーションは、通常、Compact ADO.NET プロバイダに対してプログラムします。
(System.Data.SqlServerCe.dll)。このプロバイダーは、
ネイティブのコンパクト コンポーネント。さまざまな矛盾を避けるために、コンパクト
特定のバージョンの ADO.NET プロバイダーは、Compact ネイティブとしか通信できません
同じバージョンのコンポーネント。以下は、いくつかのサンプル シナリオです。
このポリシーは破られ、以前のいずれかになります。
2 つの例外について言及しました。
解像度
任意の時点での 64 ビット コンピュータの正しい状態 (SQL 用)
Server Compact は次のようになります。
x86 と amd64 の両方の MSI がインストールされています。
x86 と amd64 の両方の MSI は同じバージョンです。
したがって、同様の問題が発生した場合は、コンピューターに両方が搭載されていることを確認してください。
Compact の x86 および amd64 MSI がインストールされており、それらは同じバージョンです。
そうでない場合は、Compact SP2 x86 および x64 MSI を次からインストールします。
必要に応じてリンクしてください:
http://www.microsoft.com/downloads/details.aspx?familyid=E497988A-C93A-404C-B161-3A0B323DCE24&displaylang=en