查询返回“找不到数据”JSP / Oracle

时间:2010-08-20 23:19:24

标签: sql oracle jsp jdbc sqlexception

我已经看了一段时间了,似乎无法确定问题。

有什么突出的会导致 java.sql.SQLException:找不到数据

 ResultSet rs = null;
 rs = s.executeQuery("SELECT * FROM customer");

 out.println("<tr><th>Customer ID</th><th>First Name</th>&nbsp;</th></tr>");

 while(rs.next()) {
  out.println("<tr><td>" + rs.getString("customer_id") + "</td><td>" + rs.getString("first_name") + "</td></tr>");
 }

1 个答案:

答案 0 :(得分:1)

此异常消息是JDBC-ODBC桥驱动程序的典型消息。由于您显然使用的是Oracle数据库,因此应使用Oracle JDBC driver,而不是JDBC-ODBC桥驱动程序。数据库供应商提供的完整的JDBC驱动程序将在您能想到的所有领域中更好地执行更多。 JDBC-ODBC桥驱动程序充满了bug,您不想知道。

  

我想我把它缩小了。 customer_id存储为数字。如果我从打印中取出rs.getString(“customer_id”),那么它确实有效。它应该是getInt(“customer_id”)还是类似的东西?

SELECT *替换为SELECT colname1, colname2, colname3或使用getString(1),其中1是列索引。但是,我更喜欢使用Oracle自己的纯JDBC驱动程序。