2013-05-20 2 views
1

jTDS를 사용하여 SQL Server에 연결하는 레거시 프로젝트에서 작업하고 있습니다. 클라이언트는 SQL Server 2012 AlwaysOn을 지원하기를 원합니다. 핵심 요구 사항 중 하나는 응용 프로그램이 장애 조치가 발생할 경우 보조 서버에 자동으로 다시 연결할 수있는 기능입니다.jTDS를 사용하여 SQL Server 2012 가용성 그룹 수신기에 연결

불행히도 jTDS 3.0은 AlwaysOn을 지원하지 않습니다. 내가 가지고있는이 옵션

  1. 사용 MS JDBC (http://www.microsoft.com/en-us/download/confirmation.aspx?id=11774)

옵션 1이 심각한 엔지니어링 (무거운 테스트)는 활성 노드의 상태를 확인 후 연결 문자열을 반환하는 래퍼를 작성 노력. 누구나 jTDS를 사용하여 SQL 2012 가용성 그룹 수신기에 연결하기 위해 옵션 2 또는 다른 것을 시도 했습니까? 그렇다면 일부 지침을 제공하십시오.

답변

0

DAL을 조정하여 특정 SQL 오류를 처리 한 후 가용성 그룹 장애 조치가있을 때마다 모든 트랜잭션을 다시 시도 할 수있었습니다. I는 다음의 SQL 오류

심각도 16 DB 에러 코드 (10054, 233, 232, 2812, 64, 3906) 심각도 14 dB의 에러 코드 (983, 922, 945)

+0

I 운반하고

이것은 오래된 질문이지만, 리스너에 연결하기 위해 어떤 연결 문자열을 사용 했습니까? MultiSubnetFailover = True를 지정 했습니까? – Greg

+0

은 MS의 JDBC 드라이버 용입니다. MultiSubnetFailover = True를 사용하면 오류가 발생할 경우 연결을 다시 시도하는 데 도움이됩니다. 그것의 유일한 이점은 다운 타임이 앱 사용자들에게는 감지하기 어렵다는 것입니다 (https://msdn.microsoft.com/en-us/library/gg558121(v=sql.110).aspx) – Dhawalk