2013-12-17 2 views
0

여기에 제가 지금 직면하고있는 문제가 있습니다. 로컬 데이터베이스를 사용하는 응용 프로그램을 만들었습니다.이 데이터베이스는 추가 -> 새 항목 -> 로컬 데이터베이스으로 만들어졌습니다.이 .sdf 데이터베이스 아래에 테이블을 추가했습니다. 다음이 데이터베이스에 연결했습니다. 추가 -> 새 항목 -..> ADO.NET 엔터티 데이터 모델 내가 여러 사람이 데이터베이스에 액세스하여 작업 할 수있는 장소에이 데이터베이스를 이동하도록 요청하지 않는 한Visual Studio 2012에서 로컬 .sdf 파일을 서버 컴퓨터로 옮깁니다.

모든 것이, 마치 마법처럼 작동

따라서 데이터베이스에 대한 이전 경험이 없으므로이 .sdf 파일을 다른 파일 (Excel 통합 문서라고 가정)로 처리했으며 기존의 d atabase, 서버 컴퓨터 (예 : \ Server001 \ Database \ Database1.sdf) app.config에서 연결 문자열을 변경하면됩니다.

그러나 문제는 이것이 작동하지 않는다는 것입니다. 연결 문자열을 변경하는 방법을 알지 못했기 때문에 서버 컴퓨터에있는이 데이터베이스에 연결하려고 시도한 새로운 응용 프로그램을 만들었습니다. 그러나 다음과 같은 오류가 나타납니다. SQL Server Compact는 네트워크 공유에서 데이터베이스 파일을 열 수 없음.

이미 제대로 작동하는 프로그램이 있지만 여러 사용자와 함께 작동시키는 방법을 모릅니다. 솔루션으로 google에 묶여 있지만 로컬 데이터베이스를 만드는 방법은 서버 컴퓨터에 배치하여 액세스 가능하게 만드는 방법이 아닙니다.

도와 주시겠습니까? 자세한 내용이 필요하면 알려주십시오. 오후 8시 30 분 P.S. Visual Studio 2012 Professional을 사용하여 만든 WPF 응용 프로그램 인 .NET 4.5입니다.

감사합니다.

답변

1

오류 메시지가 문제의 요약입니다. SQL Server Compact는 네트워크 공유에서 데이터베이스 파일을 열 수 없습니다.

SQL Server Compact (일명 "로컬 데이터베이스")는 로컬 응용 프로그램에서 사용됩니다. 많은 요청을 처리하는 웹 응용 프로그램 인 경우에도 응용 프로그램 자체는 로컬입니다.

여러 개의 원격 연결 (즉, 중앙 집중식 DB, 분산 응용 프로그램)을 사용하려는 경우 SQL Server 인스턴스 (SQL Server Express에서도 작동하는 모든 SKU)를 사용해야합니다. SDF 파일 대신 MDF 파일을 사용하므로 Convert .sdf database to .mdf database을 참조하십시오. 연결 문자열에 대한 사용자 ID를 설정해야 할 수도 있으므로 구성 방법을 이해하려면 this link on CREATE USERDifference between a User and a Login in SQL Server을 확인하십시오.

+0

데이터베이스를 서버 컴퓨터에 복사하고 단순히 컴퓨터에 연결하는 방법은 없습니다. 즉, 먼저 서버에서 수동으로 데이터베이스를 만들고 나중에 ADO.NET Entity Framework를 통해 데이터베이스에 연결해야한다는 의미입니까? –

관련 문제