2009-12-05 6 views
0

web.config 파일에 연결 문자열을 만들었습니다..NET 데이터베이스 연결 풀링 오류가 발생 했습니까?

<connectionStrings> 
    <add name="Test_registration" 
    connectionString="Data Source=DOTNET\SA;Initial Catalog=Test2009;User ID=trainee;Password=trainee123" 
    providerName="System.Data.SqlClient"/> 
</connectionStrings> 

그리고 CS 파일에서 연결을 여는 생성자를 만드십시오.

public main_connection() 
{ 
    sql_conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["Test_registration"].ConnectionString); 
    sql.conn.open(); 
} 

그러나 서버의 프로그램 런타임에 연결 풀링 오류가 발생합니다.

누구나 연결을 닫아야한다고 말할 수 있습니까? 내 프로젝트 cs 파일의 web.config 파일에서 연결을 엽니 다?

연결을 한 번만 시작하면 해당 close() 문을 한 번만 작성하고 싶습니다.

+0

예외에 대한 스택 추적 정보를 제공하십시오. 또한 연결 문자열을 제공하십시오 (민감한 정보는 제거해야 함). –

+1

나중에 .. 내 질문에 내 연결 문자열을 추가했습니다. 이제 어떻게 해결할 수 있는지 말해주세요. – sikender

답변

1

설정 연결 문자열 :-) 단지 예쁘다 사용하여 동일한 작업을 수행합니다.

다음 코드를 사용하십시오. (sql_conn은 연결 개체의 이름 임)

try { sql_conn.Open(); } 
      catch (Exception) 
      { 
       if (sql_conn.State != ConnectionState.Closed) 
       { 
        sql_conn.Close(); 
        sql_conn.Open(); 
       } 
      } 
+1

인터넷에서 연구를하면서 이걸 얻었습니다. 그것을 개발하십시오. – sikender

0

연결을 열고 SQL 문을 실행하고 연결을 즉시 닫아야한다고 생각합니다. 공급자는 연결 풀링을 담당합니다.

0

마찬가지로 Raj는 실행할 문이있을 때마다 연결을 열어 놓은 다음 나중에 다시 닫는 것이 좋습니다. DB 쿼리를 수행하는 가장 일반적인 방법입니다.

연결이 항상 열려있는 것을 선호하는 경우 프로그램을 종료 할 때 닫아야합니다 (또는 웹 사이트의 경우 응용 프로그램 닫기, 언로드 및 웹 페이지에서 Global.Asax로 닫으십시오). !

귀하의 Web.config가 자동으로 종료되지 않습니다 (나는 이런 식으로하지 않을 때문에, 얼마나 많은 기억이 안나요)이 모든으로

유사한 난 아직도 당신과 같은 구성을 고려해야한다고 생각했다 대신 (의사 코드) :

using (var conn = OpenConnection()) 
{ 
    using (var cmd = CreateCommand(conn)) 
    { 
     RunQuery(); 
    } 
} 

Connection과 Command를 using 문 안에 넣으면 코드와 연결이 제대로 닫히고 코드에서 예외가 발생하면 DB 서버에서 연결이 끊어지는 위험이 없습니다.

은 물론 시도 - 마지막 구조는 여기

관련 문제