Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 服务器启动期间,索引处缺少IN或OUT参数::错误?_Java_Oracle - Fatal编程技术网

Java 服务器启动期间,索引处缺少IN或OUT参数::错误?

Java 服务器启动期间,索引处缺少IN或OUT参数::错误?,java,oracle,Java,Oracle,目前,在我们的一个应用程序中,我们发现以下错误: org.springframework.jdbc.UncategorizedSQLException: CallableStatementCallback; uncategorized SQLException for SQL [{call test_pkg.set_user_details(?)}?)}]; SQL state [99999]; error code [17041]; Missing IN or OUT parameter at

目前,在我们的一个应用程序中,我们发现以下错误:

org.springframework.jdbc.UncategorizedSQLException: CallableStatementCallback; uncategorized SQLException for SQL [{call test_pkg.set_user_details(?)}?)}]; SQL state [99999]; error code [17041]; Missing IN or OUT parameter at index:: 2; nested exception is java.sql.SQLException: Missing IN or OUT parameter at index:: 2
程序机构:

 PROCEDURE set_user_details(ID NUMBER DEFAULT -1)
 IS
 BEGIN 

 //
 //
 END set_user_details;
Java或DB代码中没有问题。同样的代码已经运行了很长时间,并且最近没有任何更改

从Java代码中,我们将单个参数传递给该存储过程。 这是一个间歇性问题。只有当我们重新启动服务器时才会发生这种情况。据我所知,这是因为如果我们在服务器启动期间执行任何事务, 数据库和应用程序可以处于不同的状态,并且这两种状态将不同步。如果我错了,请纠正我

我的问题是,如果它是一个与状态相关的问题,那么为什么它在索引::2中给出
缺少IN或OUT参数而不是给出与状态相关的错误\异常?
此外,即使存储的proc只接受一个参数,该异常表示索引2处缺少参数。为什么在索引2处需要参数

目前,我们正在使用Oracle 12c和JdbcTemplate来执行存储过程


谢谢

准备好的语句有问题,它是
[{call test_pkg.set_user_details(?)}}][{call test_pkg.set_user_details(?)}]-不知怎的,
?)}
部分翻了一番…

正如我所说,如果我不重新启动服务器,同样的代码也可以工作。是的,我知道-但是准备好的语句仍然是错误的-可能是服务器的重新启动导致了语句中的差异-我不能这么说。。。