英文:
OraclePreparedStatement.setupBindBuffers -32593
问题
因尝试使用 CallableStatement 向数据库插入记录时,我遇到了以下异常。
总记录数:1300
由于某些安全原因,不能提供代码片段,对此表示抱歉,但在项目中的其他流程中,这个普通的 CallableStatement 执行得非常完美。
异常抛出位置在1327行。在 stmt.executeBatch() 处抛出异常。stmt 是 CallableStatement 对象。
英文:
I am getting below exception while trying to insert records into database using CallableStatement.
Total records : 1300
To due to some security reasons not able to provide code snippet sorry for that but its normal CallableStatement executing perfectly for other flow in my project.
Throwing exception at 1327. stmt.executeBatch(). stmt is object of CallableStatement.
答案1
得分: 5
An ArrayIndexOutofBoundsException could be thrown by the Oracle JDBC driver.
Here
you will get exact details of error from oracle.
It happens if the batch is too big. So either set the batch smaller in the OracleOutput component or try a different mode for inserting the data.
In order to resolve the issue, patch for BUG 6396242 must be downloaded from Oracle's support site and applied prior to using it.
You can resolve this problem by downloading the new version of ojdbc of 11 or greater version from OJDBC
.
If you see this read me file here BUG-6396242
, it has been fixed in Oracle JDBC Drivers release 11.1.0.7.0 - Production
version.
Here i had attached screenshot of same.
英文:
An ArrayIndexOutofBoundsException could be thrown by the Oracle JDBC driver.
Here
you will get exact details of error from oracle.
It happens if the batch is too big. So either set the batch smaller in the OracleOutput component or try a different mode for inserting the data.
In order to resolve the issue, patch for BUG 6396242 must be downloaded from Oracle's support site and applied prior to using it.
You can resolve this problem by downloading the new version of ojdbc of 11 or greater version from OJDBC
.
If you see this read me file here BUG-6396242
, it has been fixed in Oracle JDBC Drivers release 11.1.0.7.0 - Production
version.
答案2
得分: 4
你的问题可能与Oracle JDBC驱动程序#6396242的错误相关:ArrayIndexOutOfBoundsException:-32nnn。
请尝试从Oracle Support下载修补程序以解决此错误。
如果您无法访问Oracle Support,还可以从以下链接下载适用于您的数据库版本的最新版本Oracle JDBC驱动程序,它也将修复此问题。
英文:
Your problem could be related with the Oracle JDBC driver #6396242 bug: ArrayIndexOutOfBoundsException: -32nnn.
Please, try to download a patch for the bug from Oracle Support.
If you do not have access to Oracle Support, you can also download a recent version of the Oracle JDBC driver for your database version from the following link, it will also fix the problem.
答案3
得分: 0
这是MySQL驱动程序中已知的问题,已在5.1.13
中修复,更多细节请参见[这里] 1,因此要解决您的错误,只需将其升级到最新版本。
英文:
This is a known issue in the mysql driver it has been fixed in 5.1.13
more details [here]
1, so to fix your bug simply upgrade it to the latest version.
答案4
得分: -2
你的代码中出现了一个错误。
前往文件 com.mypackage.accounts.server.util.UtilClass。
前往第 1356 行。
在该行上,你将至少找到 1 处数组访问(即 foo[x]
)。[]
内的数字?由于某种原因是 -32593。如果在该行中有多个 []
,那么它们中的一个就是问题所在,无法从此堆栈跟踪中确定是哪一个。
如果没有你贴出代码,我们无法告诉你原因。我可以告诉你 PreparedStatement 与此完全无关。
英文:
You've got a bug. It is in your code.
Go to file com.mypackage.accounts.server.util.UtilClass.
Go to line 1356.
On it, you will find at least 1 array access (i.e. foo[x]
). The number inside the []
? It is -32593 for some reason. If there are more than 1 []
in that line, it's one of them, not possible to tell which one from this stacktrace.
Without you pasting the code we can't tell you why. I can tell you that PreparedStatement has nothing whatsoever to do with any of this.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论