2

우리는 Entity Framework를 사용하고 있으며 대부분의 개발자는 SQL Server 2008 R2의 인스턴스에 명명되었습니다. 모든 개발자에게 연결 문자열을 설정하는 방법은 무엇입니까?

<add name="MyConnectionString" 
connectionString="Data Source=MyInstance\MySource; 
        Initial Catalog=MyDatabase; 
        Integrated Security=True" 
providerName="System.Data.SqlClient" /> 

그래서 문제가 여러 개발자, 데이터 소스가 모두 다르다는 점이다 : 같은 EF 사용

연결 문자열을 찾습니다.

이전에는 ODBC DSN을 사용하여이 문제를 해결했지만 according to this post은 직접 사용할 수 없습니다.

모든 사람의 다른 데이터 소스에 액세스 할 수 있도록 연결 문자열을 설정하는 방법이 있습니까?

+0

왜 개별 설정 파일을 보관하지 않습니까? 또는 각 사용자가 재정의 할 user.config 모델로 전환 하시겠습니까? – Tejs

답변

4

우리 프로젝트의 별칭을 사용합니다. 모든 개발자는 명명 된 인스턴스를 가리키는 동일한 이름 (예 : Entitydatabase)을 가진 별칭을 만들어야 연결 문자열이 동일 할 수 있습니다. SQL 네이티브 클라이언트 구성 노드 내의 SQL Server 구성 관리자에서 별칭을 만들 수 있습니다. 가장 좋은 방법은 64 비트 서버가 설치된 경우 32 비트와 64 비트를 모두 설정하는 것입니다. 또한 사용하려는 클라이언트 프로토콜 (예 : TCP 또는 명명 된 파이프)을 활성화하여 작동 시키십시오. 마지막으로 연결 문자열에서 앨리어스 이름을 datasource로 사용하십시오.

+0

이것에 대해 자세히 설명해 주시겠습니까? 이 경우 별칭이란 무엇이며 어떻게 별칭을 만들 수 있습니까? – Naraen

+0

감사! 그것은 트릭을했다. 당신은 바나나를 얻는다! 유일한 것은 명명 된 인스턴스가 연결에 TCP/IP 포트 1433 (기본값)을 사용한다는 것입니다. 따라서 TCP/IP를 활성화하는 것 외에도, 필자는 이름이 지정된 인스턴스가 수신 대기하도록 기본 포트가 아닌 포트를 설정하고 해당 포트를 사용하도록 별칭을 설정해야했습니다. 모든 항구 (행성)가 정렬되면 모두 작동합니다. 우리는 브라우저 서비스를 사용하지 않기 때문에이 여분의 마일을 가야했습니다. –

관련 문제