2014-11-13 2 views
2

C#으로 새 연결을 만들면 더 많은 연결이 열려 있지만 그 중 4 개가 자동으로 생성 된 것을 볼 수 있습니다. 이는 4 개 연결에서 호출되는 다음과 같은 SQL 쿼리입니다 :오라클은 open() 후 자동 연결을 생성합니다.

SELECT parameter, VALUE 
    FROM sys.nls_database_parameters 
WHERE parameter IN ('NLS_CHARACTERSET', 'NLS_NCHAR_CHARACTERSET') 

을 내가 연결을 열 때에만 실행 얻을이 .. 그들을 방지하기 위해 호출되는, 또는 그들이 얻을 후에을 닫습니다 방법 어떤 아이디어 처형 됐어? 또는 풀을 false로 설정하는 가장 좋은 방법은 무엇입니까?

어떤 아이디어 ??

감사합니다.

답변

0

다중 연결은 아마도 연결 풀링으로 인해 발생합니다. 다른 연결 오브젝트를 사용하여 여러 데이터베이스 명령을 호출하는 경우 동시에 더 많은 연결을 작성해야합니다. 기본 최소 풀 크기는 1이고 풀 증가 크기는 5입니다. 따라서 하나의 연결이 있고 동시에 더 많은 세션이 필요하면 데이터베이스에 대한 더 많은 세션을 열 수 있습니다.

클라이언트가 NLS 설정을 알아야하기 때문에 NLS_DATABASE_PARAMETERS의 데이터가 반입됩니다. 관리되지 않는 Oracle.DataAccess가 사용되는 경우이 명령은 관리되지 않는 코드에서 시작됩니다.