2010-02-02 2 views
0

에뮬레이터를 사용하여 Windows Mobile 6 용 응용 프로그램을 개발 중입니다. SDF 파일에 대한 데이터베이스 연결을 열려고하면 파일을 찾을 수 없거나 파일을 찾을 수 없다는 예외가 발생합니다. 내 질문 :Windows Mobile 6 에뮬레이터에서 SQL Compact Edition에 연결하는 문제

  1. 어디에서 SDF 파일을 배포 할 예정입니까?
  2. 프로젝트를 빌드 할 때 (예 : Windows Forms 응용 프로그램) SDF 파일이 자동으로 에뮬레이터에 배포됩니까? 아니면 수동으로해야합니까?

어떤 도움을 주시면 감사하겠습니다.

답변

2
  1. "어디서"는 귀하에 의해 결정됩니다. 에뮬레이터, 파일 시스템, 연결 문자열이 가리키는 위치에 있어야합니다. CE 경로는 항상 완전한 것으로 기억하십시오.
  2. 다릅니다. 귀하의 프로젝트에 SDF가 어떻게 추가됩니까? SDF 파일 자체가 프로젝트에 있습니까? 그렇다면 "Build Action"은 무엇으로 설정되어 있습니까 (배포하려는 경우 Content 여야 함)? "Copy to Output Directory"란 무엇입니까? 자동 배포되도록하려면 "항상"또는 "복사 할 경우 복사"여야합니다. 이 메커니즘을 배포에 사용하면 파일은 EXE와 동일한 폴더에 저장됩니다 (또는 프로젝트의 하위 폴더 int에있는 경우 프로젝트가 배포 디렉토리의 하위 폴더에 있음).

당신은 수동으로 바탕 화면 폴더를 공유하기 위해 에뮬레이터를 구성하거나 "도킹"에뮬레이터 관리자를 사용하여 파일을 통해 복사 ActiveSync를 사용하여 에뮬레이터, 원격 파일 뷰어를 사용하여 파일을 배포 할 수 있습니다.

+0

빠른 응답을 보내 주셔서 감사합니다. 파일 속성을 확인하여 콘텐츠 및 항상 있음을 확인합니다. – Chad

+0

또한 디버그 출력을 변경하여 릴리스합니다. – Arash

0

// TODO : 디렉터리 정보를 저장할 수있는 경로 이름을 나타내는 코드 줄.

string databaseconnection = ("Data Source=" + (System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)) + "\\EBDataBase.sdf;Persist Security Info=False;"); 

SDF 이름 .. = EBDataBase

그것의 자동 연결 문자열을 가져옵니다 .....

1
string [email protected]"Data Source=\Program Files\NameOfProgram\NameOfDataBase.sdf;Persist Security Info=false;"; 

즉, 프로그램의 이름 HelloWorld이었고, 데이터베이스의 이름 Test.sdf 인 경우, 연결 문자열은 다음과 같습니다

string [email protected]"Data Source=\Program Files\HelloWorld\Test.sdf;Persist Security Info=false;"; 

희망이 도움이!

관련 문제