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 서버가 실제로 실행 중인지 확인하십시오.
- SQL 서버 호스트 이름, 사용자 이름 및 암호가 올바른지 확인하십시오.
- 포트 1433에 대한 TCP 연결을 차단하는 방화벽 규칙이 없는지 확인
- 호스트가 실제로 연결할 수 있는지 확인
내가 자주 사용하는 좋은 검사는 텔넷을 사용하는 것입니다. 예를 들어 Windows 명령 프롬프트에서 다음을 실행합니다.
telnet 127.0.0.1 1433
빈 화면이 나타나면 네트워크 연결이 성공적으로 설정되었음을 나타내는 것이며 네트워크 문제가 아닙니다. ‘호스트에 대한 연결을 열 수 없습니다’가 표시되면 이것은 네트워크 문제입니다.
답변
답변
오류에서 알 수 있듯이 SQL 서버가 실행 중이고 포트 1433에서 수신 대기하는지 확인해야합니다. 서버가 실행 중이면 포트 1433에서 연결을 거부하는 방화벽 규칙이 있는지 확인해야합니다.
문제 해결에 유용한 명령은 다음과 같습니다.
netstat -a
SQL Server가 원하는 포트에서 수신 대기하는지 확인하는 데 사용 합니다.- gerrytan이 답변에서 언급했듯이
telnet
호스트 및 포트에서 작업을 시도 할 수 있습니다.
답변
중요 :
변경 또는 새 설정 후에는 SQLSERVER
서비스 를 다시 시작해야합니다 . 실행 services.msc
에Windows
답변
명명 된 인스턴스를 사용하는 경우 사용하는 포트는 1433이 아닌 1434 일 가능성이 있으므로 앞서 언급 한 텔넷 또는 netstat를 사용하여 확인하십시오.