2014-11-09 7 views
0

ASP.NET MVC 4.0 프로젝트와 내 관리자, 공급자 및 DataAccess 프로젝트와 같은 여러 클래스 라이브러리가있는 VS2012 솔루션에서 작업하고 있습니다. 내 dbContext 클래스는 DataAccess 프로젝트 내에 정의되어 있습니다.dbContext에 대한 내 DataAccess 라이브러리 프로젝트의 app.config에서 연결 문자열 읽기

내 목표는 DataAccess 프로젝트의 App.Config 파일에서 연결 문자열 정보를 제한하는 것입니다. DB와 상호 작용할 DataAccess 클래스이므로 connectionString을 프로젝트의 다른 곳에서는 지정하지 않는 것이 좋습니다.

내 연결 문자열을 하드 코딩하여 내 dbContext 클래스를 지정하면 프로젝트가 올바르게 작동하고 DB에서 데이터를 읽을 수 있습니다.


public MyDbContext() 
     : base(@"Data Source=MYLAPTOP\SQL2012MAIN;Initial Catalog=MyDB;User ID=sa;Password=*****") 
    { 

    } 

하지만이 같은 app.config 파일에서 연결 문자열을 지정하는 경우 :

<connectionStrings> 
 
<add name="MyDBConnection" connectionString="Data Source=MYLAPTOP\SQL2012MAIN;Initial Catalog=MyDB;User ID=sa;Password=*****;Connect Timeout=200; pooling='true" providerName="System.Data.SqlClient" /> 
 
</connectionStrings>

을 내 dbContext 클래스의 사용에서 사용할 다음과 같이 :

public MyDbContext() 
 
      : base("MyDBConnection") 
 
     { 
 

 
     }

그것은 작동하지 않습니다. 나는 또한 내 MVC 프로젝트의 web.config 파일에 동일한 연결 문자열을 사용했지만, 다시 나는 (첨부 이미지) 같은 오류가 점점 오전 :

enter image description here

이 사람이 ...

날 안내 주실 래요

감사 하리

답변

0

나는 하나 MOR이

있다 ', 당신의 잘못이 풀링에 놓여 생각, 그래서 또한 당신이 가지고있는 하나의 반전 쉼표를 제거해야합니다 풀링 = TRUE 시도 당신이 연구하고 싶을 수도 포인트, 나는 풀링은 기본적으로 활성화되어 있으므로, 풀링 = True로, 이것이 명확한 동안, 내가 올바르게 기억한다면, 효과가 없다고 생각하지만 Pooling = False는 효과가있다. 의 구성을 유지하여 MyDbContext 클래스의 필드, 것이 경우

public MyDbContext() 
    : base("MyDBConnection", backend, metadataSource) 
{ 
} 

, 백엔드metadataSource :

+0

안녕하세요, 루이, thnx 내 문제를 회신하고보고 있습니다. 그 작은 따옴표 (')가 문제였습니다. 일단 제거하면 연결 문자열이 web.config 파일에서 예상대로 작동하기 시작합니다. – Hari

+0

그러나 동일한 conn을 사용하는 경우. 문자열을 내 app.config 파일에서 다음과 같은 오류가 발생합니다 : "SQL Server에 연결하는 동안 네트워크 관련 또는 인스턴스 관련 오류가 발생했습니다.서버를 찾을 수 없거나 액세스 할 수 없습니다. 인스턴스 이름이 올 바르고 SQL Server가 원격 연결을 허용하도록 구성되어 있는지 확인하십시오. (공급자 : SQL 네트워크 인터페이스, 오류 : 50 - 로컬 데이터베이스 런타임 오류가 발생했습니다. 지정한 LocalDB 인스턴스가 없습니다. " – Hari

+0

지금 내 web.config 파일에 연결 문자열 필드가 없으므로, 내 응용 프로그램이 appHost.config 또는 다른 것으로부터 읽으려는 것일 수 있습니까? loaclDB 참조에서 SQLServerExpress를 사용하려고합니다. – Hari

0

당신이 기본이 같은 생성자를 호출 시도 할 수 있습니다 작동하게하려면 백엔드 및 매핑의 구성

Creating OpenAccessContext 문서에서 컨텍스트 디자인에 대한 자세한 내용을 확인할 수 있습니다.