java - 错误消息 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 命令未正确结束
关于这个问题的任何想法?谢谢!
解决方案
您需要删除查询字符串末尾的分号,即:
String sql = "INSERT INTO PURE_ENC_QUEUE (queueId,queueName) values(?,?)";
此外,重构代码以使用try-with-resources 语句也是一个好主意。
推荐阅读
- html - 强制 [innerHTML] 内容适合 div 宽度
- ruby - 测试 ruby 的 Dome 管道
- node.js - AWS CloudFormation 与 node.js 10.x 更新错误“ZipFile 只能在运行时设置为
" - macos - 如何创建从一个点(CGPoint)“指向”另一点的 CGVector
- ios - 将仅 JS 的 react-native 库升级到 RN 0.60
- mysql - 字段“SomeField”没有默认值
- django - M2M 字段是必需的,然后更改为空白=True
- docker - Docker 撰写构建副本失败
- git - 如何更改任何提交命令的前缀?
- video - 如何通过 Linkedin API 上传视频?上传资产时出现 SignatureDoesNotMatch 错误