Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

java.sql.SQLException:Io exception:Bị trừ một phần từ lệnh gọi đã đọc trong khi kết nối JDBC với oracle

Đầu tiên, URL kết nối bị sai. Post 8080 thường được sử dụng bởi máy chủ web như Apache Tomcat. Bản thân Oracle sử dụng cổng mặc định là 1521. Cũng xem tài liệu Oracle JDBC này .

Hơn nữa, bạn đã quên gọi ResultSet#next() . Thao tác này sẽ đặt con trỏ đến hàng tiếp theo trong tập kết quả. Tập hợp kết quả được trả về bằng con trỏ trước Dòng đầu tiên. Bất kỳ getXXX() nào cuộc gọi trên ResultSet sẽ không thành công nếu bạn không di chuyển con trỏ.

Nếu bạn mong đợi nhiều hàng trong một tập hợp kết quả, thì bạn cần sử dụng while vòng lặp:

resultSet = statement.executeQuery();
while (resultSet.next()) {
    String columnname = resultSet.getString("columnname");
    // ...
}

Hoặc nếu bạn chỉ mong đợi một hàng, thì bạn cũng có thể tiếp tục với if tuyên bố:

resultSet = statement.executeQuery();
if (resultSet.next()) {
    String columnname = resultSet.getString("columnname");
    // ...
}

Để biết thêm gợi ý và ví dụ về cách sử dụng basic JDBC đúng cách (cũng trong JSP / Servlet) bạn có thể tìm thấy bài viết này hữu ích. Ví dụ như cách bạn đóng câu lệnh và kết nối dễ bị rò rỉ tài nguyên. Việc tải trình điều khiển JDBC theo yêu cầu GET cũng tốn kém một cách không cần thiết. Chỉ cần làm điều đó một lần trong khi khởi động ứng dụng hoặc khởi tạo servlet.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle (ORA-02270):không có khóa chính hoặc duy nhất phù hợp cho lỗi danh sách cột này

  2. Hàm EXTRACT (datetime) trong Oracle

  3. Đặt NLSLANG mà không có hàng nghìn bộ tách

  4. Cách xử lý một dấu nháy đơn trong Oracle SQL

  5. Trình tự Oracle không tạo ra số liên tục