java - SQLException : Unsupported feature

标签 java oracle servlets jdbc

我正在尝试从序列中获取生成的 key 。(使用 Servlet 和 Oracle10)

以下是我的代码:

query ="insert into TABLE_NAME(COL1,COL2,COL3) values(sysdate,?,SEQ_NAME.nextval)";
PreparedStatement pstmt = con.prepareStatement(query,new String[]{"COL3"});  //Getting error on this line
pstmt.setString(1,Str2);
pstmt.executeUpdate();

ResultSet keyset = pstmt.getGeneratedKeys();
if(keyset.next())
{
    genKey = keyset.getString(1);
}

但是我遇到了异常:

java.sql.SQLException: Unsupported feature

几天前,这段代码运行良好。那么这段代码现在不起作用的原因可能是什么? (我没有更改 JDBC 驱动程序 war 文件)

提前致谢。

是否有另一种方法来获取查询中序列生成的值?

最佳答案

下载最新的 JDBC 驱动程序,我认为您至少需要 10.2.0.1 驱动程序,数据库也需要为 10.2+

http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/htdocs/jdbc101040.html

或者先获取序列值

String sqlForSeq = "select SEQ_NAME.NEXTVAL from dual";
ResultSet rs = stmt.executeQuery(sqlForSeq);
if (rs.next()) {
    logSeq = rs.getString("NEXTVAL");
}

关于java - SQLException : Unsupported feature,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19196982/

相关文章:

java - 服务器中的线程卡住

java - X-Frame-Options 支持同一域的不同子域

java - 用 Java 编辑 txt 给我带来了麻烦

sql - 在 Oracle 中将时差转换为给定格式

oracle - ORA-01741 用于带有不可见字段和隐式约束的 DBMS_REDEFINITION

java - Android ListView 搜索法语单词

Java 将值传递到 SQL WHERE 子句中的 IN

java - 得到这个 org.springframework.web.servlet.DispatcherServlet noHandlerFound 错误和警告 : No mapping found for HTTP request URI in Spring MVC

javascript - 如何在 JavaScript 文件中正确编写 servlet url

javascript - 使用 JavaScript 和 servlet 下载文件