【发布时间】:2018-01-10 12:24:04
【问题描述】:
我有一小段代码使用 PreparedStatement .addBatch() 和 .executeBatch() 方法。
但是,我收到以下异常:
java.sql.BatchUpdateException: ORA-01031: insufficient privileges
at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:10500)
at oracle.jdbc.driver.OracleStatementWrapper.executeBatch(OracleStatementWrapper.java:230)
blah blah blah
我可以很好地执行大多数 SQL 语句,但不能执行批处理操作。我是否需要授予我的数据库用户特定的权限才能使用这些操作?
编辑
如果我需要除 INSERT/UPDATE 之外的特定权限,我需要哪种权限?
编辑 2
原来我的 DBA 不想给我的帐户所需的权限。感谢大家的帮助。
【问题讨论】:
-
是的,你需要有权限才能这样做@jason
-
ORA-nnnnn错误来自数据库,它对 JDBC 或准备好的语句一无所知。试图在数据库中调用的语句是什么? -
我明白这一点。我需要知道我需要授予我的数据库用户(而不是应用程序用户)什么权限才能让 PreparedStatement.executeBatch() 工作。
-
要插入行,您需要
INSERT权限。