2011-11-10 2 views
0

Oracle 데이터베이스 연결 제한 시간을 어떻게 제한합니까? 데이터 액세스 레이어에서 devart dotConnect Express Edition을 사용합니다. 나는 연결 문자열에 Connection timeout=30;을 추가하려고 시도했지만 올바른 결과를주지는 못한다. (심지어 이상하게도, 처음에는 30 초로 제한되지만 처음에는 모든 연결 시도가 제한된다.) 그럼 난Oracle Database에 대한 ConnectionTimeout 제한

연결 (초) 타임 아웃 시간 에게 시도를 종료하고 오류를 생성하기 전에 연결을 설정하는 동안 기다릴 것을 찾을 수 있습니다. 값이 0이면 제한 없음을 나타냅니다. 기본값은 15 초입니다. 직접 모드에서만 사용할 수 있습니다. 내가 Express Edition을 사용하기 때문에

from Devart site

내가 직접 모드를 사용할 수 없습니다. 그럼 난

DB1 = 
    (DESCRIPTION = 
    (CONNECT_TIMEOUT=11) 
    (TRANSPORT_CONNECT_TIMEOUT=10) 
    (ADDRESS_LIST = 
     (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.100.8)(PORT = 1521) 
     ) 
    ) 
    (CONNECT_DATA = 
     (SERVICE_NAME = DB1) 
    ) 
) 

아직도 잘못된 작동 TNSNAMES.ORA이 매개 변수를 설정했습니다. OK, 추락 SQLNET.ORA

SQLNET.INBOUND_CONNECT_TIMEOUT = 5 

또 다른 하나는 실패에 요 세트 연결 시간 초과를 시도! 누구든지 DB1에 연결할 수있는 시간을 제한하는 제한 시간을 어떻게 설정할 수 있는지 알고 있습니까? 이제 약 20 초 동안 연결이 끊어졌습니다 (연결 실패).

+0

도움이 될 수도 있습니다. http://dbaforums.org/oracle/index.php?showtopic=11745 – V4Vendetta

+0

나는 [** Oracle **] (http://download.oracle.com/docs/)의 권장 사항이라고 생각합니다. cd/B19306_01/network.102/b14213/sqlnet.htm)'INBOUND_CONNECT_TIMEOUT_ * listener_name *'(값은'INBOUND_CONNECT_TIMEOUT'보다 낮습니다) – V4Vendetta

답변

0

나는 Devart의 dotConnect 라이브러리를 사용한 적이 없지만 OracleConnection 클래스를 보면 일정 기간 후에 연결을 닫을 수있는 것 같습니다 (OracleConnection.Close()). Open 연결을 시도하는 동안 차단 상태가 해제됩니다.

이것은 시간 초과 설정과 정확하게 같지는 않지만 작동 할 수 있습니다. 또한 시간 초과가 제대로 설정되었는지 확인하려면이 코드를 디버깅 할 때 ConnectionTimeout 속성을 확인하십시오.

관련 문제