Kết nối JDBC không thành công, lỗi: kết nối TCP / IP với máy chủ không thành công


82

Tôi muốn kết nối tệp lớp Java với máy chủ SQL 2012. Tôi đã đăng nhập bằng xác thực máy chủ SQL. Nhưng tôi gặp lỗi trong kết nối.

LỖI: Kết nối TCP / IP với máy chủ 127.0.0.1, cổng 1433 không thành công. Lỗi: "Kết nối bị từ chối: kết nối. Xác minh thuộc tính kết nối. Đảm bảo rằng phiên bản SQL Server đang chạy trên máy chủ và chấp nhận kết nối TCP / IP tại cổng. Đảm bảo rằng các kết nối TCP tới cổng không bị tường lửa chặn . ”.

Mã của tôi ---

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));
}

Máy tính cục bộ đã từ chối cho phép bạn kết nối với cổng 1433. Đây có thể là sự cố tường lửa. Ngoài ra hãy chắc chắn rằng có cái gì đó thực sự lắng nghe trên cổng
MadProgrammer

Câu trả lời:


203
  1. Mở Trình quản lý cấu hình SQL Server, rồi mở rộng Cấu hình mạng SQL Server 2012.
  2. Nhấp vào Giao thức cho InstanceName, sau đó đảm bảo TCP / IP được bật trong bảng điều khiển bên phải và nhấp đúp vào TCP / IP.
  3. Trên tab Giao thức, lưu ý giá trị của mục Nghe Tất cả.
  4. Bấm vào tab Địa chỉ IP: Nếu giá trị của Nghe tất cả là có, số cổng TCP / IP cho phiên bản SQL Server 2012 này là giá trị của mục Cổng động TCP trong IPAll. Nếu giá trị của Listen Tất cả là không, số cổng TCP / IP cho phiên bản SQL Server 2012 này là giá trị của mục Cổng động TCP cho một địa chỉ IP cụ thể.
  5. Đảm bảo rằng Cổng TCP là 1433.
  6. Bấm OK.

Nếu có thêm bất kỳ câu hỏi nào, vui lòng cho tôi biết.

Cảm ơn.


13
Và đừng quên khởi động lại phiên bản SQL của bạn sau khi thực hiện các thay đổi.
JimGoods

16
Khởi động lại phiên bản SQL của bạn như sau: tại "SQL Server Configuration Manager" -> "SQL Server 2012 Services" nhấp chuột phải vào "SQL Server" và chọn "Restart".
Lập trình viên Marius Žilėnas

10
Chú ý đến Đảm bảo rằng Cổng TCP là 1433 theo IPAII.
Lập trình viên Marius Žilėnas

Hoặc thay đổi số cổng trong ứng dụng của bạn thành giá trị của Cổng động TCP trong IPAII. Đó là những gì tôi đã làm để điều này hoạt động, bởi vì tôi không thể thay đổi giá trị.
AlieneilA

111

Giải pháp dễ dàng

Phải vào Start-> All Programs-> Microsoft SQL Server 2012-> Configuration Tool -> Nhấp vào SQL Server Configuration Manager -> Expand SQL Server Network Configuration-> Protocol -> Enable TCP / IP Right box

Nhấp đúp vào TCP / IP và đi tới Địa chỉ IP Chạm và Đặt cổng 1433 dưới cổng TCP.

nhập mô tả hình ảnh ở đây


2
Sau khi làm theo các bước này, tôi phải dừng và khởi động lại máy chủ của mình để nó hoạt động. Cảm ơn!
bluefox

15

Lỗi này tự giải thích:

  • Kiểm tra xem máy chủ SQL của bạn có thực sự đang hoạt động hay không
  • Kiểm tra tên máy chủ SQL, tên người dùng và mật khẩu có đúng không
  • Kiểm tra xem không có quy tắc tường lửa nào chặn kết nối TCP tới cổng 1433
  • Kiểm tra máy chủ thực sự có thể truy cập được

Một cách kiểm tra tốt mà tôi thường sử dụng là sử dụng telnet, ví dụ: trên cửa sổ lệnh chạy dấu nhắc lệnh:

telnet 127.0.0.1 1433

Nếu bạn nhận được một màn hình trống, nó cho biết kết nối mạng đã được thiết lập thành công và đây không phải là sự cố mạng. Nếu bạn nhận được 'Không thể mở kết nối với máy chủ' thì đây là sự cố mạng


1
Tôi cố gắng telnet 127.0.01 1433, nó nói kết nối đến 127.0.01`could kết nối không cởi mở với các máy chủ hoặc cổng 1433 kết nối thất bại
Aysha Nijhawan

1
Do đó, rất có thể bạn chưa cài đặt máy chủ, máy chủ không chạy hoặc bạn có tường lửa ngăn kết nối. Điều này thường không phải là một vấn đề chương trình java
gerrytan

11

Đi tới Bắt đầu-> Tất cả chương trình-> Microsoft SQL Server 2012-> Công cụ cấu hình -> Nhấp vào Trình quản lý cấu hình SQL Server. nhập mô tả hình ảnh ở đây

Nếu bạn thấy Trạng thái trình duyệt SQL Server / SQL Server bị 'dừng', hãy nhấp chuột phải vào Trình duyệt SQL Server / SQL Server và nhấp vào bắt đầu. Trong một số trường hợp, trạng thái trên có thể dừng mặc dù kết nối TCP tới cổng 1433 được chỉ định.


đã giúp tôi rất nhiều. Trình duyệt đã bị vô hiệu hóa, đây là thành phần chính phải chạy để tạo kết nối máy khách.
Mayur

3

Như lỗi cho biết, bạn cần đảm bảo rằng máy chủ sql của bạn đang chạy và lắng nghe trên cổng 1433. Nếu máy chủ đang chạy thì bạn cần kiểm tra xem có quy tắc tường lửa nào từ chối kết nối trên cổng 1433 hay không.

Dưới đây là các lệnh có thể hữu ích để khắc phục sự cố:

  1. Sử dụng netstat -ađể kiểm tra xem máy chủ sql có đang lắng nghe trên cổng mong muốn hay không
  2. Như gerrytan đã đề cập trong câu trả lời, bạn có thể thử thực hiện telnettrên máy chủ và cổng

Tôi nghĩ rằng OP đang sử dụng máy chủ sql không mysql
SpringLearner

@AyshaNijhawan Bạn đã kiểm tra cổng mà nó đang nghe chưa? Cũng cố gắng kết nối với máy chủ sql thông qua dấu nhắc lệnh hoặc máy khách sql bằng cách sử dụng cùng một ip / cổng và thông tin đăng nhập.
Juned Ahsan 17/09/13

Cổng là 1433 và tôi đã thử sử dụng bằng cách đặt nó vào chuỗi kết nối. Ống đặt tên, bộ nhớ, và TCP / IP là cho phép trong SQL server N / W cấu hình -> Giao thức cho MSSQLSERVER
Aysha Nijhawan

0

quan trọng:
sau bất kỳ thay đổi hoặc cài đặt mới nào, bạn phải khởi động lại SQLSERVERdịch vụ. chạy services.msctiếpWindows


0

Nếu bạn đang sử dụng phiên bản được đặt tên, cổng bạn sử dụng có thể là 1434, thay vì 1433, vì vậy hãy kiểm tra bằng cách sử dụng telnet hoặc netstat đã nói ở trên.


0

Mở thư mục% windir% \ System32 và tìm SQLServerManagerXX.msc

Ví dụ:

C: \ Windows \ System32 \ SQLServerManager14.msc

Chuyển đến cài đặt giao thức sau đó kích hoạt cổng TCP / IP là 1433 theo mặc định

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.