sql >> Database teknologi >  >> RDS >> Oracle

java.sql.SQLException:Io undtagelse:Fik minus en fra et læseopkald under JDBC-forbindelse med oracle

For det første er forbindelses-URL'en forkert. Post 8080 bruges normalt af en webserver som Apache Tomcat. Oracle selv bruger en standardport på 1521. Se også denne Oracle JDBC-dokumentation .

Yderligere glemte du at ringe til ResultSet#next() . Dette vil sætte markøren til næste række i resultatsættet. Resultatsættet returneres med markøren før den første række. Enhver getXXX() kalder på ResultSet vil mislykkes, hvis du ikke flytter markøren.

Hvis du forventer flere rækker i et resultatsæt, skal du bruge while sløjfe:

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

Eller hvis du kun forventer én række, så kan du også gå videre med en if erklæring:

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

For flere tip og eksempler på brug af grundlæggende JDBC på den rigtige måde (også i JSP/Servlet) kan du finde denne artikel nyttig. Den måde, du lukkede erklæringen og forbindelsen for eksempel på, er udsat for ressourcelækage. Det er også unødvendigt dyrt at indlæse JDBC-driveren på GET-anmodning. Bare gør det én gang under applikationens opstart eller servlets initialisering.



  1. Find ud af, om en tabel er opdelt i SQL Server (T-SQL)

  2. Installation af webserver i FreeBSD 6.0 med Apache 2.2, MySQL 5.0 og PHP 5 – Del 3

  3. Kontroller, om værdien eksisterer, før du indsætter i MySQL DB i et PHP-script

  4. MySQL JOIN, GRUPPER EFTER, BESTIL EFTER