OraclePreparedStatement.setupBindBuffers -32593

问题描述

在尝试使用CallableStatement将记录插入数据库时​​,出现异常。 总记录:1300 由于某些安全原因,无法为此提供代码段,但对我项目中的其他流程而言,它的正常CallableStatement可以完美执行。

Error Trace

在1327处引发异常。stmt.executeBatch()。 stmt是CallableStatement的对象。

解决方法

Oracle JDBC驱动程序可能会引发ArrayIndexOutofBoundsException。

Here,您将从oracle获取错误的详细信息。

如果批次太大,就会发生。因此,要么在OracleOutput组件中将批处理设置为较小,要么尝试使用其他模式插入数据。

为了解决此问题,必须从Oracle的支持站点下载针对BUG 6396242的补丁程序,并在使用该补丁程序之前将其应用。

您可以通过从OJDBC下载11或更高版本的ojdbc来解决此问题。

如果您在BUG-6396242处看到此自述文件,则该文件已在 Oracle JDBC Drivers release 11.1.0.7.0 - Production 版本中修复。

这里我附有相同的屏幕截图。Bug

,

您的问题可能与Oracle JDBC驱动程序#6396242错误有关: ArrayIndexOutOfBoundsException:-32nnn

请尝试从Oracle支持部门下载该错误的补丁。

如果您没有访问Oracle支持的权限,还可以从以下link下载适用于数据库版本的Oracle JDBC驱动程序的最新版本,这也可以解决此问题。

,

这是mysql驱动程序中的一个已知问题,已在5.1.13更详细的信息中修复[此处] 1,因此要解决您的错误,只需将其升级到最新版本即可。

,

您有一个错误。它在您的代码中。

转到文件com.mypackage.accounts.server.util.UtilClass。

转到第1356行。

在它上面,您将找到至少1个数组访问权限(即foo[x])。 []中的数字?由于某种原因,它是-32593。如果该行中有多于1个[],则为其中之一,无法从此堆栈跟踪中分辨出哪个。

没有粘贴代码,我们无法告诉您原因。我可以告诉你,PreparedStatement与此无关。