本文介绍了如何使用JDBC执行过程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是我的功能:
public static void execute_delete_on_db(String pass, String login, String port, String host, String table_name, String file_path) throws Exception { Class.forName("oracle.jdbc.OracleDriver"); Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@//" + host + ":" + port + "/xe", login, pass); PreparedStatement statement = null; Statement stmt = null; String query = "delete from AA_ALL"; stmt = conn.createStatement(); stmt.executeQuery(query); sql_statement.close(); connmit(); conn.close(); }至少这是我功能中最重要的部分.上面的代码工作正常.我试图通过调用以下sql语句来执行我的过程:
At least this is the most important part of my function. Above code works fine. I tried to execute my procedure by calling this sql statement :
EXECUTE delete_all_rows_from_table('all');在Java中,它看起来像这样:
In Java it looked like this :
String query = "EXECUTE delete_all_rows_from_table('all')";在数据库上它可以正常工作,但是在Java中,这给了我错误. 你能告诉我我在做什么错吗?
On the database it is working fine, but in Java this is giving me the error. Can you tell me what am I doing wrong?
推荐答案您可以call您的过程,而不必像这样执行它:
You can call your procedure and not execute it like so :
String query = "{call delete_all_rows_from_table(?)}"; CallableStatement statement = connection.prepareCall(query); statement.setString(1, "all"); statement.execute();您可以在此处了解更多信息: JDBC CallableStatement –存储过程OUT参数示例和 JDBC存储过程
You can learn more here : JDBC CallableStatement – Stored Procedure OUT parameter example and JDBC Stored Procedure
更多推荐
如何使用JDBC执行过程
发布评论