2013-05-22 10 views
2

내가 SQL 컴팩트 사용하고 여기에 DB에 대한 연결 문자열 C#을 윈폼 응용 프로그램이 윈폼? 예 : C : \ Users \ name \ AppData ... etc는 DataDirectory를 위치

+0

이 http://stackoverflow.com/questions/6941943/c-sharp-get-file-path-from-connection-string –

+0

감사를 시도하지만 난 여전히 직면하고있는 문제는'이다 AppDomain.CurrentDomain.GetData ("DataDirectory")'항상 null로 돌아옴 –

+0

또한 DataDirectory | 위의 connstring에있는 'connectionString = "Data Source = \ Database \ TestManager.sdf"와 같은 것으로 앱이 시작될 때 DataDirectory | –

답변

1

왜 다른 디렉토리로 이동 하시겠습니까? 기본적으로 관리자가 아닌 사용자는 Program Files 디렉토리 트리에서 변경 작업에 액세스 할 수 없습니다. AppData는 네트워크 호스팅 프로필의 경우 사용자의 앱 데이터 디렉토리에 대한 네트워크의 적절한 디렉토리를 가리키는 사용자 별 저장소입니다.

여러 사용자에 대해 데이터를 공유하려는 경우 All_Users 데이터 디렉토리가 있습니다. SqlCE 연결 문자열을 지정하는 방법을 모르겠습니다.

APPDATA 디렉토리를 결정하는 업데이트

Here is the answer.

DataDirectory 속성을 설정하려면 AppDomain.SetData 메서드를 호출하십시오. 당신이 DataDirectory를 속성을 설정하지 않은 경우, 다음과 같은 기본 규칙은 데이터베이스 폴더에 액세스 적용됩니다 : 사용자의 컴퓨터의 폴더에 넣어하는 응용 프로그램에 대해서는

  1. 는 데이터베이스 폴더는 응용 프로그램을 사용 폴더.
  2. ClickOnce에서 실행되는 응용 프로그램의 경우 데이터베이스 폴더는 만들어진 특정 데이터 폴더 을 사용합니다.
+0

나는 그것을 옮기고 싶지 않다. 실제로 그것에 대한 완전한 경로가 필요하다. C : \ Users \ ... etc –

+0

아, 이제 이해합니다. 귀하의 질문은 프로그램 파일 아래에있는 디렉토리를 변경하는 방법을 원래 묻는 것이라고 생각했습니다. –