2012-02-24 3 views
2

어떻게 데이터베이스 컨텍스트에 삽입 한 경로가 작동하지 않습니까? 여기 내 경로로컬 폴더의 db mdf 파일 경로 설정

private string dbPath = @"TEST.MDF" 
DataClasses1DataContext myDbContext = new DataClasses1DataContext(dbPath); 

에 대한 코드입니다하지만 쿼리를 실행할 때이

나에게 실패 파일 test.mdf에 대한 자동라는 이름의 데이터베이스를 연결하려는 시도에 오류가 있습니다. 같은 이름의 데이터베이스가 있거나 지정된 파일이 열 수 없거나 이거나 UNC 공유에 있습니다.

는 그리고 이것은 내 CS 소스 코드의 같은 위치에 내 폴더이

enter image description here

MDF 파일 파일처럼 보이는 방법이지만 것은 그들이 제대로 경로를 읽고되지 않습니다이다.

내 아이디어는 내가 다른 PC로 전송할 때 경로를 반복해서 설정할 필요가 없다는 것입니다. 이 문제가 수정 되었습니까?

+1

'* .cs' 파일과 같은 위치에 있습니다. 그러나 ** 실행 파일 **은 **이 디렉토리에 없습니다 **! 빌드 & 실행하면, 실행 파일은'bin \ debug'에 빌드되어있을 것입니다 - 그리고 그 디렉토리에는'test.mdf' 파일이 없습니다 ....... –

+0

soo 사용해야합니까? /../../Test.MDF? – user962206

+0

아니요 - ** 사용자 컴퓨터의 SQL Server 인스턴스에 ** MDF 파일을 ** 첨부 **하고 ** 논리 이름 **을 부여하고 .MDF 파일과 그 파일 이름을 사용하지 말고 해당 논리 이름을 사용하여 연결하십시오. 위치 ..... –

답변

1

무엇

private string dbPath = Application.StartupPath + "\\TEST.MDF"; 

약하지만 당신의 test.mdf에 올바른 디렉토리에 있지 않습니다. 이 코드를 작동 시키려면 \bin\Debug으로 이동하십시오.

+0

Application.StartUpPath는 무엇을합니까? – user962206

+1

실행 파일의 폴더 위치를 반환합니다. 그래서 .EXE가 "C : \ Programming \ Projects \ C# \ testProject1 \ bin \ Debug"에 있다고 가정 해보십시오. 그것이 반환하는 경로입니다. 그리고 "\\ Test.mdf"를 추가해야하는 이유는 전체 경로가 C : \ Programming \ Projects \ C# \ testProject1 \ bin \ Debug \ Test와 같은 모양이되도록 해당 경로에 파일 이름을 추가하는 것입니다. MDF – Jason

+0

감사합니다. 건배. – user962206

0

프로젝트에 .mdf 파일을 추가하는 것이 좋습니다. 기존 항목 추가 => 폴더에서 .mdf 파일을 선택하십시오. 프로젝트에 .mdf 파일을 추가 한 후 Web.config 또는 App.Config 파일에서 연결 문자열이 자동으로 생성되며 해당 연결 문자열을 사용하여 저장소를 부팅 할 수 있습니다. 이제 프로젝트를 빌드 할 때 새로운 .mdf 파일을/bin/dubug 폴더에 복사하고 .mdf 파일을 연결하는 코드 한 줄을 작성하지 않아도됩니다.