Oracle
 sql >> база данни >  >> RDS >> Oracle

java.sql.SQLException:Io изключение:Получих минус едно от повикване за четене по време на JDBC връзка с oracle

Първо, URL адресът на връзката е грешен. Post 8080 обикновено се използва от уеб сървър като Apache Tomcat. Самият Oracle използва порт по подразбиране 1521. Вижте също тази документация на Oracle JDBC .

Освен това сте забравили да извикате ResultSet#next() . Това ще настрои курсора на следващия ред в набора с резултати. Наборът от резултати се връща с курсора before първият ред. Всеки getXXX() извиква ResultSet ще се провали, ако не преместите курсора.

Ако очаквате множество редове в набор от резултати, тогава трябва да използвате while цикъл:

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

Или ако очаквате само един ред, тогава можете също да продължите с if изявление:

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

За повече съвети и примери за използване на основен JDBC по правилния начин (също в JSP/Servlet) може да намерите тази статия полезен. Начинът, по който затворихте изявлението и връзката например, е склонен към изтичане на ресурси. Също така зареждането на JDBC драйвера при GET заявка е ненужно скъпо. Просто го направете веднъж по време на стартиране на приложението или инициализация на сървлета.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. НАЧАЛО - КРАЙ блок атомарни транзакции в PL/SQL

  2. Преобразуване на байтов масив от Oracle RAW в System.Guid?

  3. Как да конвертирате десетичен в шестнадесетичен с помощта на TO_CHAR() в Oracle

  4. Актуализирайте извлечението с помощта на vb.net, за да актуализирате всички полета

  5. ora-06553 pls-306 грешен номер или типове аргументи при извикване на 'ogc_x'