Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.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 Callablestatement不会等到.execute()结束_Java_Sql Server_Jdbc - Fatal编程技术网

Java Callablestatement不会等到.execute()结束

Java Callablestatement不会等到.execute()结束,java,sql-server,jdbc,Java,Sql Server,Jdbc,我试图从表X中获取值。但这些表值是由过程插入的。我正在调用ps.execute这样的过程,我想等到它结束并从表_X获得所有结果,一切看起来都正常。但它只返回表_X中的一些结果,而不是全部结果。所以我认为它不会等到程序结束。所以它只返回一些插入的值 我怎样才能修好它 编辑:代码 CallableStatement pstmt = con.prepareCall("{ ? = call "+job.getSP()+" }"); pstmt.registerOutParameter(1, Typ

我试图从表X中获取值。但这些表值是由过程插入的。我正在调用ps.execute这样的过程,我想等到它结束并从表_X获得所有结果,一切看起来都正常。但它只返回表_X中的一些结果,而不是全部结果。所以我认为它不会等到程序结束。所以它只返回一些插入的值

我怎样才能修好它

编辑:代码

 CallableStatement pstmt = con.prepareCall("{ ? = call  "+job.getSP()+" }");
 pstmt.registerOutParameter(1, Types.INTEGER);
 pstmt.execute();
然后我调用一个方法

  Map<String,String> errors = MTRCMtdJob.GetDataControlErrors();

这些方法从表_X中获取值,我假定只有一个问题,事务隔离级别甚至在提交过程事务之前就允许脏读。我建议您在事务过程之后使用commit将readingthetable部分放在一个新的事务块中。同时请检查事务隔离级别

插入过程完成后,然后调用下一个过程以获取值。在所有数据插入不完整之前,该过程可能会起作用