2017-03-20 2 views
-2

現在、SQL Server CE 3.5でX86モードで実行されているアプリケーションです。私はANYCPUモードに移行する必要があります。私はSQL Server CE 3.5がANYCPUをサポートしていないと聞いて以来、SQL Server CE 4.0をアップグレードしようとしました。私のプロジェクトをANYCPUに変更しましたが、SQL Server Compactファイルを開くときにエラーが表示されました。助けてください。SQL Server CEでANYCPUに移動する必要があります

バージョンSQL Server最適化の 正しいバージョンをインストール8080のADO.NETプロバイダに対応するSQL Server最適化 のネイティブコンポーネントをロードできません。 については、KB記事974247を参照してください。

DLL 'sqlceme35.dll'を読み込めません:指定されたモジュールが見つかりませんでした。 (HRESULTからの例外:0x8007007E)

+0

をあなたが実際にKBの記事を読みましたというエラーメッセージがポイントに?これは、これを解決するためのステップを提供します。 –

+0

はい。私は[これを]通過しました(https://support.microsoft.com/en-au/help/974247/fix-you-receive-an-error-message-when-you-run-a-sql-server-compact -3.5ベースの - インストール後のアプリケーション - SQL Server - 32ビット版コンパクトエディション - 3.5サービスパック2-x64-x64コンピュータ)の記事。助けにならない。 –

+0

小さなコンソールアプリケーションを作成して問題を確認しました。コンソールアプリケーションはSQL Server CE 3.5で動作します。しかし、SQL Server CE 4.0では動作しません。私はX86またはANYCPUを使用しています。だから私はSQL Server CE 4.0に関連するものだと思います。最初にそれを見つけ出す必要があります。 –

答えて

0

現在のSQL Server CompactファイルをSQL Server Compactバージョン4.0で使用するようにアップグレードする必要があります。そこで、次のコードを使用してSQL Server Compact 3.5ファイルを4.0にアップグレードしました。

public static void Upgrade(string fileName, string password) 
    { 
     if (String.IsNullOrEmpty(fileName) || password == null) 
      throw new Exception("Unable to create connection string because filename or password was not defined"); 

     try 
     { 
      var connectionString = string.Format(@"Data source={0};Password={1}", fileName, password); 
      var engine = new SqlCeEngine(connectionString); 
      engine.Upgrade(); 
     } 
     catch (Exception ex) 
     { 
      throw (ex); 
     } 
    } 

エンティティフレームワークでSQL Server Compact 4.0を使用する必要があります。 EntityFramework.SqlServerCompactをインストールするには、パッケージマネージャコンソール

で次のコマンドを実行してインストール・パッケージEntityFramework.SqlServerCompact -Version 4.1.8482.2

関連する問題