2017-03-20 16 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 Compact의 올바른 버전을 버전 8080의 ADO.NET 공급자에 해당하는 SQL 서버 컴팩트 의 기본 구성 요소를로드 할 수SQL Server CE가있는 ANYCPU로 이동해야 함

수 없습니다. 자세한 내용은 KB 문서 974247 을 참조하십시오.

'sqlceme35.dll'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 기반 응용 프로그램 설치 후 - 32 비트 버전 SQL Server Compact Edition - 3.5 서비스 팩 2-on-x64-computer) 문서를 참조하십시오. 도움이되지 않습니다. –

+0

작은 콘솔 응용 프로그램을 만들어 문제를 확인했습니다. 콘솔 응용 프로그램은 SQL Server CE 3.5에서 작동합니다. 그러나 SQL Server CE 4.0에서는 작동하지 않습니다. 상관없이 나는 X86 또는 ANYCPU를 사용하고있다. 그래서 저는 SQL Server CE 4.0과 관련된 것이라고 생각합니다. 먼저 알아야합니다. –

답변

0

SQL Server Compact 버전 4.0에서 사용하도록 현재 SQL Server Compact 파일을 업그레이드해야합니다. 그래서 다음 코드를 사용하여 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); 
     } 
    } 

Entity Framework에서 SQL Server Compact 4.0을 사용할 수 있어야합니다. EntityFramework.SqlServerCompact를 설치하려면 패키지 관리자 콘솔

에서 다음 명령을 실행하여 설치 패키지 EntityFramework.SqlServerCompact -Version 4.1.8482.2