Nice programing

JDBC 연결 실패, 오류 : 호스트에 대한 TCP / IP 연결 실패

nicepro 2020. 10. 17. 12:23
반응형

JDBC 연결 실패, 오류 : 호스트에 대한 TCP / IP 연결 실패


Java 클래스 파일을 SQL Server 2012에 연결하고 싶습니다. SQL Server 인증으로 로그인했습니다. 하지만 연결 오류가 발생합니다.

오류 : 호스트 127.0.0.1, 포트 1433에 대한 TCP / IP 연결에 실패했습니다. 오류 : "연결 거부 : 연결. 연결 속성을 확인하십시오. SQL Server 인스턴스가 호스트에서 실행되고 포트에서 TCP / IP 연결을 허용하는지 확인하십시오. 포트에 대한 TCP 연결이 방화벽에 의해 차단되지 않았는지 확인하십시오. . "

내 코드 ---

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");  //1. Register your driver
//2. get the connection object
//Connection con = DriverManager.getConnection("jdbc:sqlserver://localhost;databaseName=aysha","sa","admin");
Connection con = DriverManager.getConnection("jdbc:sqlserver://127.0.0.1;databaseName=aysha","user=sa","password=admin");
 //"jdbc:sqlserver://127.0.0.1:1433; Instance=SQL2008;" +       "databaseName=MB;user=sa;password=123;";
//Connection con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=aysha","sa" , "password");
//3. Prepare a statement
Statement stmt = con.createStatement();
//4. Write the query`
String sql = "Select * from employee";
//5. Execute the statement and 
ResultSet rs = stmt.executeQuery(sql);
//6. Process the result set

while (rs.next())
{
    System.out.println(rs.getInt(1));
}

  1. SQL Server 구성 관리자를 열고 SQL Server 2012 네트워크 구성을 확장합니다.
  2. InstanceName에 대한 프로토콜을 클릭 한 다음 오른쪽 패널에서 TCP / IP가 활성화되어 있는지 확인하고 TCP / IP를 두 번 클릭합니다.
  3. 프로토콜 탭에서 모두 듣기 항목의 값을 확인하십시오.
  4. IP 주소 탭을 클릭합니다. 모두 수신 값이 예이면이 SQL Server 2012 인스턴스의 TCP / IP 포트 번호는 IPAll 아래의 TCP 동적 포트 항목 값입니다. 모두 수신의 값이 아니요 인 경우이 SQL Server 2012 인스턴스의 TCP / IP 포트 번호는 특정 IP 주소에 대한 TCP 동적 포트 항목의 값입니다.
  5. TCP 포트가 1433인지 확인하십시오.
  6. 확인을 클릭하십시오.

더 궁금한 점이 있으면 알려주세요.

감사.


쉬운 솔루션

시작-> 모든 프로그램-> Microsoft SQL Server 2012-> 구성 도구-> SQL Server 구성 관리자-> SQL Server 네트워크 구성 확장-> 프로토콜-> TCP / IP 활성화 오른쪽 상자로 이동합니다.

TCP / IP를 두 번 클릭하고 IP 주소 탭으로 이동하여 TCP 포트 아래에 포트 1433을 입력합니다.

여기에 이미지 설명 입력


오류는 자명합니다.

  • SQL 서버가 실제로 실행 중인지 확인하십시오.
  • Check SQL server hostname, username and password is correct
  • Check there's no firewall rule blocking TCP connection to port 1433
  • Check the host is actually reachable

A good check I often use is to use telnet, eg on a windows command prompt run:

telnet 127.0.0.1 1433

If you get a blank screen it indicates network connection established successfully, and it's not a network problem. If you get 'Could not open connection to the host' then this is network problem


Go to Start->All Programs-> Microsoft SQL Server 2012-> Configuration Tool -> Click SQL Server Configuration Manager. 여기에 이미지 설명 입력

If you see that SQL Server/ SQL Server Browser State is 'stopped'.Right click on SQL Server/SQL Server Browser and click start. In some cases above state can stop though TCP connection to port 1433 is assigned.


오류에서 알 수 있듯이 SQL 서버가 실행되고 포트 1433에서 수신 대기하는지 확인해야합니다. 서버가 실행 중이면 포트 1433에서 연결을 거부하는 방화벽 규칙이 있는지 확인해야합니다.

문제 해결에 유용한 명령은 다음과 같습니다.

  1. netstat -aSQL Server가 원하는 포트에서 수신 대기하는지 확인하는 데 사용 합니다.
  2. gerrytan이 답변에서 언급했듯이 telnet호스트 및 포트에서 작업을 시도 할 수 있습니다.

참고 URL : https://stackoverflow.com/questions/18841744/jdbc-connection-failed-error-tcp-ip-connection-to-host-failed

반응형