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));
}
- SQL Server 구성 관리자를 열고 SQL Server 2012 네트워크 구성을 확장합니다.
- InstanceName에 대한 프로토콜을 클릭 한 다음 오른쪽 패널에서 TCP / IP가 활성화되어 있는지 확인하고 TCP / IP를 두 번 클릭합니다.
- 프로토콜 탭에서 모두 듣기 항목의 값을 확인하십시오.
- IP 주소 탭을 클릭합니다. 모두 수신 값이 예이면이 SQL Server 2012 인스턴스의 TCP / IP 포트 번호는 IPAll 아래의 TCP 동적 포트 항목 값입니다. 모두 수신의 값이 아니요 인 경우이 SQL Server 2012 인스턴스의 TCP / IP 포트 번호는 특정 IP 주소에 대한 TCP 동적 포트 항목의 값입니다.
- TCP 포트가 1433인지 확인하십시오.
- 확인을 클릭하십시오.
더 궁금한 점이 있으면 알려주세요.
감사.
쉬운 솔루션
시작-> 모든 프로그램-> 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에서 연결을 거부하는 방화벽 규칙이 있는지 확인해야합니다.
문제 해결에 유용한 명령은 다음과 같습니다.
netstat -a
SQL Server가 원하는 포트에서 수신 대기하는지 확인하는 데 사용 합니다.- gerrytan이 답변에서 언급했듯이
telnet
호스트 및 포트에서 작업을 시도 할 수 있습니다.
'Nice programing' 카테고리의 다른 글
MVC 모델에는 true가 필요합니다. (0) | 2020.10.17 |
---|---|
navitem의 React-Bootstrap 링크 항목 (0) | 2020.10.17 |
예외가 안전하게 처리 될 때 첫 번째 예외 메시지 방지 (0) | 2020.10.17 |
MySQL 매개 변수화 된 쿼리 (0) | 2020.10.17 |
DialogFragment 너비를 Fill_Parent로 만드는 방법 (0) | 2020.10.17 |