2012-05-02 3 views
0

현재 Windows 서비스로 구성된 VB .Net 응용 프로그램 중 하나에서 Oracle Data Connect dll을 사용하고 있습니다. 우리가 사용하고있는 .NET 버전은 Framework 3.5이며 Oracle 10g에 연결합니다..NET 3.5 플랫폼에서 ORACLE 데이터베이스에 연결할 때의 문제

이 응용 프로그램은 지속적으로 데이터베이스에 대한 연결을하고 특정 인스턴스의 즉시 모든 연결 (데이터베이스 연결에 관여 싱글 톤 디자인 패턴의 종류)를 닫습니다. DB 연결 ("연결 끊김 컨택")과 관련하여 더 자주 오류가 발생했습니다. 일부 블로그를 읽은 후 연결 문자열의 매개 변수를 VALIDATE CONNECTION = TRUE으로 추가했습니다. 이 오류가 해결 가지고,하지만 우리는 이제 새로운 오류 메시지를 받고있다 "연결 요청 시간이 초과되었습니다"

답변

1
나는 그의 오라클 데이터 공급자를 사용하여 제한 시간을 지정 참조

유일한 ConnectionString을 옵션 .NET/ODP.NET 설명을 여기에 http://www.connectionstrings.com/oracle#p12

됩니다 :

Data Source=myOracle;User Id=myUsername;Password=myPassword;Min Pool Size=10;Connection Lifetime=120;Connection Timeout=60;Incr Pool Size=5;Decr Pool Size=2; 

당신은 여기에 더 많은 예제를 얻을 수 있습니다 :은 다음과 같다기본적으로 연결 풀링은 사용 가능합니다. 이것은 풀링 메커니즘을 제어합니다. 연결 풀링 서비스는 ConnectionString 속성을 사용하여 풀을 고유하게 식별하여 연결 풀을 만듭니다.

열린 첫 번째 연결은 연결 풀을 만듭니다. 서비스는 처음에 최소 풀 크기 매개 변수로 정의 된 연결 수를 만듭니다.

INCR 풀 크기 속성은 더 많은 연결이 필요할 때 새로운 연결의 수는 연결 풀링 서비스에 의해 생성되는 정의합니다. 접속이 폐쇄 될 때

는, 접속 풀링 서비스 연결 수명 연결 수명 특성 값을 초과 하였는지의 여부를 판정한다. 그렇다면 연결이 닫힙니다. 그렇지 않은 경우 연결은 연결 풀로 돌아갑니다.

연결 풀링 서비스를 사용하지 않는 연결을 매 3 분 닫습니다. Decr 풀 크기 특성은 3 분마다 닫을 수있는 최대 연결 수를 지정합니다. 당신이 당신의 쿼리를 실행하는 OracleCommand를에서 시간 제한을 받고있는 경우

또한 볼 수 있습니다. OracleCommand.CommandTimeout 특성에 대한 문서를 찾으십시오.

는 오라클 명령 제한 시간에 토론이 사이트에 보라 https://forums.oracle.com/forums/thread.jspa?threadID=317603