开发者社区> 问答> 正文

错误消息ORA-00933:SQL命令未正确结束

我对此方法有疑问:

public void insertIntoQueue(DTOQueue dtoQueue) { DbConnection dbConnection = new DbConnection(); Connection conn; try { conn = dbConnection.coneccion(); String sql = " INSERT INTO PURE_ENC_QUEUE (queueId,queueName) values(?,?);";

    //creating PreparedStatement object to execute query
    PreparedStatement preStatement = conn.prepareStatement(sql);
    preStatement.setString(1, dtoQueue.getQueueId());
    preStatement.setString(2, dtoQueue.getQueueName());
    int result = preStatement.executeUpdate();

    DbConnection.closeConnection(conn);

    if(result > 0) {
        System.out.println("Insertado");
    } else {
        System.out.println("No insertado");
    }

} catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (InstantiationException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (IllegalAccessException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (ClassNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
System.out.println("done");

} 当我运行它时,抛出异常

java.sql.SQLException:ORA-00933:SQL命令未正确结束

对这个问题有任何想法吗?谢谢!

问题来源于stack overflow

展开
收起
保持可爱mmm 2019-11-18 11:27:10 631 0
1 条回答
写回答
取消 提交回答
  • 您需要删除查询字符串末尾的分号,即:

    String sql = "INSERT INTO PURE_ENC_QUEUE (queueId,queueName) values(?,?)"; 另外,将代码重构为使用try-with-resources语句也是一个好主意。

    2019-11-18 11:27:18
    赞同 展开评论 打赏
问答分类:
SQL
问答地址:
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载