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

时间:2014-10-20 07:09:21

标签: java sql-server jdbc

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

我该如何解决?

编辑:代码;

 CallableStatement pstmt = con.prepareCall("{ ? = call  "+job.getSP()+" }");
 pstmt.registerOutParameter(1, Types.INTEGER);
 pstmt.execute();

然后我正在调用方法

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

这些方法从Table_X获取值

1 个答案:

答案 0 :(得分:0)

我认为只有一个问题,事务隔离级别即使在提交过程事务之前也允许脏读。我建议您在过程事务之后使用 commit 将读取表部分放在新的事务块中。还请检查事务隔离级别。