Share via


연결 문제 해결

Microsoft SQL Server 2005 JDBC 드라이버에서는 TCP/IP를 설치하고 실행해야 SQL Server 데이터베이스와 통신할 수 있습니다. SQL Server 구성 관리자를 사용하면 설치된 네트워크 라이브러리 프로토콜을 확인할 수 있습니다.

데이터베이스 연결 시도가 실패하는 데는 여러 가지 이유가 있습니다. 예를 들면 다음과 같습니다.

  • SQL Server에 TCP/IP를 사용하고 있지 않거나 지정한 서버 또는 포트 번호가 잘못되었습니다. SQL Server가 지정한 서버 및 포트에서 TCP/IP로 수신 대기 중인지 확인합니다. 이 경우 "로그인에 실패했습니다. 호스트에 TCP/IP 연결을 설정하지 못했습니다."와 유사한 예외가 함께 보고됩니다. 이는 다음 중 하나를 나타냅니다.

    • SQL Server이(가) 설치되어 있지만 TCP/IP가 SQL Server 2000용 SQL Server 네트워크 유틸리티 또는 SQL Server 2005용 SQL Server 구성 관리자를 사용하여 SQL Server의 네트워크 프로토콜로 설치되어 있지 않습니다.

    • TCP/IP가 SQL Server 프로토콜로 설치되어 있지만 JDBC 연결 URL에 지정한 포트에서 수신 대기하고 있지 않습니다. 기본 포트는 1433이지만 제품 설치 시 임의의 포트에서 수신 대기하도록 SQL Server을(를) 구성할 수 있습니다. SQL Server이(가) 1433에서 수신 대기 중인지 확인합니다. 또는 포트를 변경한 경우 JDBC 연결 URL에 지정한 포트가 변경된 포트와 일치하는지 확인합니다. JDBC 연결 URL에 대한 자세한 내용은 연결 URL 작성을 참조하십시오.

    • JDBC 연결 URL에 지정한 컴퓨터 주소가 SQL Server이(가) 설치되어 실행되는 서버를 가리키지 않습니다.

    • 클라이언트와 SQL Server을(를) 실행하는 서버 간에 TCP/IP 네트워킹 작업을 수행할 수 없습니다. 텔넷을 사용하면 SQL Server에 대한 TCP/IP 연결을 확인할 수 있습니다. 예를 들어, 명령 프롬프트에서 192.168.0.0이 SQL Server을(를) 실행하는 컴퓨터의 주소이고 1433이 컴퓨터가 수신 대기하는 포트인 경우 telnet 192.168.0.0 1433을 입력합니다. "텔넷으로 연결할 수 없습니다."라는 메시지가 나타나면 TCP/IP가 SQL Server 연결을 위해 해당 포트에서 수신 대기하고 있지 않다는 뜻입니다. 그러면 SQL Server 2000용 SQL Server 네트워크 유틸리티 또는 SQL Server 2005용 SQL Server 구성 관리자를 사용하여 SQL Server가 포트 1433에서 TCP/IP를 사용하도록 구성합니다.

    • 서버에서 사용하는 포트가 방화벽에서 열려 있지 않습니다. 서버에서 사용하는 포트이거나 명명된 서버 인스턴스와 관련된 포트(옵션)가 이에 해당합니다.

  • 지정한 데이터베이스 이름이 잘못되었습니다. 기존의 SQL Server 데이터베이스에 로그인되어 있는지 확인합니다.

  • 사용자 이름 또는 암호가 정확하지 않습니다. 값이 정확한지 확인합니다.

  • SQL Server 인증을 사용하려면 JDBC 드라이버에서 SQL Server을(를) SQL Server 인증과 함께 설치해야 합니다. 이 인증은 기본적으로 설치되지 않습니다. 따라서 SQL Server 인스턴스를 설치하거나 구성할 때 이 옵션을 반드시 포함합니다.

참고 항목

관련 자료

JDBC 드라이버 관련 문제 진단
JDBC 드라이버로 SQL Server에 연결