Lỗi netbean không kết nối được cơ sở dữ liệu năm 2024

Bài viết này mình sẽ hướng dẫn các bạn cách kết nối tới hệ cơ sở dữ liệu mẫu là MySQL qua đó các bạn cũng có thể kết nối tới DB2, hoặc MSSQL 2000[SP4]

Có gì sai sót mong các bạn góp ý để bài viết được hoàn thiện hơn

Thứ tự thực hiện

1. Tạo Library của hệ CSDL mà bạn muốn kết nối tới từ NetBeans.

2. Tạo project để test connect, Add Libray tương ứng với hệ CSDL mà bạn muốn kết nối tới.

3. Tạo File test.java để thử connect

Bước 1 Tạo Library của hệ CSDL mà bạn muốn kết nối tới từ NetBeans.

Đầu tiên phải có JDBC của hệ CSDL mà bạn dùng

vdu : nếu bạn sử dụng MySQL thì bạn bạn vào đây để tải JDBC driver cho Mysql //dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.6.tar.gz/from/ftp://mirror-fpt-telecom.fpt.net/mirror/mysql/

Sau khi tải về các bạn giải nến ra và ghi nhớ đường dẫn tới file này

mysql-connector-java-5.1.6-bin.jar

Trong NetBean bạn chọn Tools > Libaries > Chọn New Library > Đặt tên cho nó [chọn library type là Class Libaries]

Sau đó click vào Add jar/Folder – link tới thư mục mà bạn đã giải nến JDBC driver của mysql ra và chọn mysql-connector-java-5.1.6-bin.jar

Okie, thế là bạn đã tạo xong Library cho CSDL của mysql

Bước 2 Add Libray tương ứng với hệ CSDL mà bạn muốn kết nối tới.

Ở đây mình tạo project Test [Java Application]. Nhấp chuột phải vào project mới tạo và chọn Properties. Phía bên trái của của Sổ vừa hiện lên bạn chọn mục Libaries, chọn Add Library, bạn chọn Library vừa add vào ở bước 1

Bước 3 Tạo File test.java để thử connect

bạn tạo file test.java với nội dung như sau:

import java.sql.; public class Test{ public static void main [String[] args]{ Connection conn = null; try{ String userName = "root"; String password = ""; String url = "jdbc:mysql://127.0.0.1:3306/test"; // String url = "jdbc:mysql://localhost:3306/test"; Class.forName["org.gjt.mm.mysql.Driver]; conn = DriverManager.getConnection[url,userName,password]; System.out.println["Da ket noi csdl"]; } catch [Exception e]{ System.err.println ["KHONG KET NOI DUOC"]; e.printStackTrace[]; } finally{ if [conn != null]{ try{ conn.close []; System.out.println ["Dong ket noi"]; } catch [Exception e] { / bo qua loi luc dong csdl */ } } } } }

Giải thích:

Dòng có màu ở trên

Tùy theo hệ cơ sở dữ liệu mà bạn thay thế cho phù hợp

vdu ở trên kết nối vói Mysql nên

String url = "jdbc:mysql://127.0.0.1:3306/test"; //test là tên db, 3306 là port default Class.forName["org.gjt.mm.mysql.Driver"];

với microsoft sql 200 sp4[chú ý là sp4] thì bạn sửa lại như sau:

String userName = "sa"; //dien username trong sql serve String password = "pass"; //dien pass String url = "jdbc:sqlserver://localhost:1433;databaseName=Northwind"; //tên db, port default của sql200 là 1433 Class.forName["com.microsoft.sqlserver.jdbc.SQLServerDriver"]; Với DB2 bạn sửa lại như sau:

String url = "jdbc:db2://localhost:50000/SAMPLE"; // chú ý port của nó là 5000 [cái này bạn phải thiết lập cho nó] , SAMPLE là tên db mặc định Class.forName["com.ibm.db2.jcc.DB2Driver"]; Ví Dụ trên mình thử kết nối tới MySQL, các bạn làm hoàn toàn tương tự với những hệ csdl khác[MSSQL,DB2….]

Microsoft phân phối Microsoft SQL Server 2008 gói dịch vụ 3 [SP3] hoặc các bản sửa lỗi Microsoft SQL Server 2008 R2 là một tệp được tải xuống. Vì bản sửa lỗi được tích lũy, mỗi bản phát hành mới chứa tất cả các hotfix và tất cả các bản sửa lỗi bảo mật được bao gồm trong gói dịch vụ SQL Server 2008 trước đó 3 [SP3] hoặc SQL Server 2008 R2 sẽ khắc phục sự cố.

Triệu chứng

Hãy xem xét tình huống sau:

  • Bạn có một ứng dụng máy khách sử dụng trình điều khiển Java và Microsoft JDBC cho SQL Server để kết nối với SQL Server.
  • Bạn nâng cấp môi trường thời gian chạy Oracle Java [JRE] lên phiên bản 6 Cập Nhật 29 hoặc phiên bản mới hơn.
  • Sau khi nâng cấp JRE, bạn không còn có thể kết nối với SQL Server.

Trong trường hợp này, trình điều khiển JDBC có thể ngừng phản hồi khi tìm cách mở kết nối. Ngoài ra, trình điều khiển JDBC không thành công ngay lập tức và một cuộc gọi stack sẽ được tạo ra nếu một trong các phương pháp sau đây được dùng để mã hóa kết nối:

  • Thuộc tính mã hóa được đặt là True trong URL kết nối.
  • SQL Server được cấu hình để buộc mã hóa.

Lưu ý́

  • Bạn có thể gặp phải vấn đề này nếu bạn sử dụng triển khai bên thứ ba của Layer Secure Sockets Layer [SSL]/Transport Layer Security [TLS] có chứa các thay đổi hành vi giống như phiên bản JRE 6 Cập Nhật 29 và các phiên bản mới hơn. Điều này thay đổi trong các hành vi khắc phục sự cố về bảo mật cụ thể được gọi là "BEAST". Nếu bạn không chắc liệu một sản phẩm của bên thứ ba có chứa việc thực hiện SSL/TLS bao gồm thay đổi này, hãy liên hệ với nhà cung cấp của sản phẩm.
  • Bất kỳ nhà cung cấp truy nhập dữ liệu nào sử dụng OpenSSLlibrary cũng có thể gây ra sự cố này.

Nguyên nhân

Sự cố này xảy ra vì công cụ SQL Server không thể xử lý các bản ghi đăng nhập khi dữ liệu SSL được phân tách thành nhiều gói dữ liệu dạng bảng [TDS].

Giải pháp

Thông tin về gói dịch vụ cho SQL Server 2008 R2

Để giải quyết vấn đề này, có được gói dịch vụ mới nhất dành cho SQL Server 2008 R2. Để biết thêm thông tin, hãy bấm số bài viết sau đây để xem bài viết trong cơ sở kiến thức Microsoft:

2527041 Cách tải gói dịch vụ mới nhất cho SQL Server 2008 R2

Thông tin Cập Nhật tích lũy

Gói dịch vụ SQL Server 2008 R2 1

Bản sửa lỗi cho sự cố này lần đầu tiên được phát hành trong Cumulative Update 6 cho SQL Server 2008 R2 Service Pack 1. Để biết thêm thông tin về cách tải gói Cập Nhật tích lũy này, hãy bấm số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:

2679367 Gói Cập Nhật tích lũy 6 cho SQL Server 2008 R2 gói dịch vụ 1Lưu ý Vì bản dựng được tích lũy, mỗi bản phát hành khắc phục sự cố mới chứa tất cả các hotfix và tất cả các bản sửa lỗi bảo mật đã được đưa vào bản phát hành khắc phục SQL Server 2008 trước đó. Chúng tôi khuyên bạn nên cân nhắc việc áp dụng bản phát hành bản sửa lỗi gần đây nhất có chứa hotfix này. Để biết thêm thông tin, hãy bấm vào số bài viết sau đây để xem bài viết trong Cơ sở Kiến thức Microsoft:

2567616 Bản dựng SQL Server 2008 R2 đã được phát hành sau khi SQL Server 2008 R2 Service Pack 1 đã được phát hành

Gói Cập Nhật tích lũy 3 cho SQL Server 2008 SP3

Bản sửa lỗi cho sự cố này lần đầu tiên được phát hành trong bản Cập Nhật Cumulative 3. Để biết thêm thông tin về cách tải gói Cập Nhật tích lũy cho SQL Server 2008 Service Pack 3, hãy bấm số bài viết sau đây để xem bài viết trong cơ sở kiến thức Microsoft:

2648098 Gói Cập Nhật tích lũy 3 cho SQL Server 2008 gói dịch vụ 3Lưu ý Vì bản dựng được tích lũy, mỗi bản phát hành khắc phục sự cố mới chứa tất cả các hotfix và tất cả các bản sửa lỗi bảo mật được đưa vào bản phát hành SQL Server 2008 gói dịch vụ trước đó 3. Chúng tôi khuyên bạn nên cân nhắc việc áp dụng bản phát hành bản sửa lỗi gần đây nhất có chứa hotfix này. Để biết thêm thông tin, hãy bấm vào số bài viết sau đây để xem bài viết trong Cơ sở Kiến thức Microsoft:

2629969 Bản dựng SQL Server 2008 đã được phát hành sau khi SQL Server 2008 Service Pack 3 đã được phát hành

Thông tin Bổ sung

Để biết thêm thông tin về sự cố này, hãy truy cập trang web sau đây:

Tư vấn bảo mật Microsoft [2588513]

Cách giải quyết

Để khắc phục sự cố này, hãy sử dụng một trong các phương pháp sau:

  • Sử dụng phiên bản trước đó của Oracle JRE so với phiên bản JRE 6 Cập Nhật 29.
  • Vô hiệu hóa bản ghi SSL được phân tách ở mức JRE.Lưu ý́
    • Phương pháp này có thể có các tác động bảo mật cho HTTP Communications.
    • Để biết thêm thông tin về quy trình này, bạn có thể liên hệ.

Các sản phẩm của bên thứ ba mà bài viết này thảo luận được các công ty độc lập với Microsoft sản xuất. Microsoft không bảo hành, dù ngụ ý hay không, về hiệu suất hoạt động hoặc độ tin cậy của các sản phẩm này.

Trạng thái

Microsoft đã xác nhận đây là sự cố trong các sản phẩm của Microsoft được liệt kê trong phần "Áp dụng cho".Sự cố này lần đầu tiên được sửa trong SQL Server 2008 R2 Service Pack 2.

Bạn cần thêm trợ giúp?

Bạn muốn xem các tùy chọn khác?

Khám phá các lợi ích của gói đăng ký, xem qua các khóa đào tạo, tìm hiểu cách bảo mật thiết bị của bạn và hơn thế nữa.

Cộng đồng giúp bạn đặt và trả lời các câu hỏi, cung cấp phản hồi và lắng nghe ý kiến từ các chuyên gia có kiến thức phong phú.

Chủ Đề