Java 错误消息ORA-00933:SQL命令未正确结束
我对这种方法有一个问题:Java 错误消息ORA-00933:SQL命令未正确结束,java,sql,ora-00933,Java,Sql,Ora 00933,我对这种方法有一个问题: public void insertIntoQueue(DTOQueue dtoQueue) { DbConnection dbConnection = new DbConnection(); Connection conn; try { conn = dbConnection.coneccion(); String sql = " INSERT INTO PURE_ENC_QUEUE (queueId,queu
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命令未正确结束
你知道这个问题吗?谢谢大家! 您需要删除查询字符串末尾的分号,即:
String sql = "INSERT INTO PURE_ENC_QUEUE (queueId,queueName) values(?,?)";
另外,重构代码以供使用也是一个好主意。谢谢!但是,当我这样做时,行:PreparedStatement preStatement=conn.prepareStatement(sql);被阻止,程序不会继续,但也不会引发异常。但是当我在句子“INSERT INTO PURE_ENC_QUEUE(QUEUEID,QUEUENAME)VALUES('numevacolaid2','numevacolanombre2')”中使用字符串值进行测试时;,它起作用了。我打印带有vars值的行,并且有一个有效的值。这个问题不应该与建议的修复有关。您可以检查您的应用程序服务器/数据库是否有问题,或者尝试干净的安装/重新启动。谢谢!问题是由数据库生成的。当我从SQL开发人员那里查询时。如果这回答了您的问题,您可以使用勾号符号将答案标记为已接受。