2009-12-14 7 views
1

이 항목에서는 다른 게시물을 보았습니다. 그러나 문제에 대한 설명과 함께 qustion에 질문 할 것이라고 생각했습니다.동적로드 연결 문자열에 가장 좋은 방법은 무엇입니까

사용자 로그인에 SQL 공급자를 사용하는 로그인 페이지가 있습니다. 그런 다음 사용자는 주 응용 프로그램으로 리디렉션되어야합니다. 이것은 우리가 고객이 많은 웹 기반 CRM 응용 프로그램입니다.

나의 목표는 하나의 웹 사이트를 사용하는 것이지만, 여러 SQL 데이터베이스를 사용하는 것입니다. 로그인하는 사용자는 그가 속한 회사와 연결된 연결 문자열을 사용해야합니다.

어떤 좋은 아이디어?

+0

당신은 25 개의 클라이언트가 있다면 25 개의 데이터베이스가 있다는 것을 의미합니까? –

+0

아니요, 그는 25 개의 그룹 (회사)과 그룹당 1 db를 보유하고 있습니다. 그것은 의문의 여지가 있습니다. –

+0

예, 25 개의 그룹 (클라이언트가 많은 그룹), 25 개의 데이터베이스 및 하나의 웹 사이트. – espenk

답변

1

사용자 조직과 적절한 데이터베이스 연결간에 단순한 맵을 만들 수 있습니까?

Dictionary<string, string>은 global.asax로 초기화되는 것처럼 간단 할 수 있습니다. 핵심은 회사와 web.config에 정의 된 연결 문자열의 이름입니다.

이 설정을 구성해야하는 경우 사용자 지정 구성 섹션에서 해당 사전 값을로드 할 수 있습니다.

+0

그럴 수 있습니다. 그러나 문제는 여전히이 사전의 연결 문자열을 사용하여 연결하는 것입니다. 모든 것에 LINQ를 사용하고 connectionstring을 사용할 수 있어야합니다. – espenk

+1

LINQ to SQL과 LINQ to Entities 모두에서 데이터 컨텍스트에 연결 문자열을 전달할 수있는 생성자가 오버로드되어 있습니다. 당신은 그것들을 사용할 수 있습니다. 임의의 논리를 기반으로 .config 파일에서 연결 문자열을 선택할 수 없습니다. –

+0

오케이. 나는이 aproach를 살펴볼 것이다. – espenk

1

Web.Config에서 ConnectionStrings를 사용하십시오. 자세한 내용은이 링크를 확인하십시오 : How to: Read Connection Strings from the Web.config File. 조직의 이름으로 Key를 만들고 조직에 해당하는 연결 문자열로 값을 생성 할 수 있습니다.

+0

이것은 내가 지금하는 일이다. 문제는 모든 사용자가 동일한 웹 사이트를 사용하지만 속한 회사에 따라 데이터베이스가 다를 수 있다는 것입니다. – espenk

+0

아무 문제 없다고 생각합니다. 그렇다면 어떻게 사용자를 인증하고 있습니까? 중앙 데이터베이스 권리 일 수 있습니까? 인증 후 Web.Config에서 연결 문자열을 선택합니다. – Anuraj

+0

당신은 Web.Config에 모든 ConnectionStrings를 저장해야한다는 것을 의미하며 사용자가 SQL 서버에 대해 인증 한 후에는 해당 connectionString을 선택합니까? – espenk

관련 문제