Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.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
SQLServer2008:当执行insert和update语句时,来自JAVA的存储过程调用返回错误_Java_Sql Server 2008_Spring Mvc_Java Stored Procedures - Fatal编程技术网

SQLServer2008:当执行insert和update语句时,来自JAVA的存储过程调用返回错误

SQLServer2008:当执行insert和update语句时,来自JAVA的存储过程调用返回错误,java,sql-server-2008,spring-mvc,java-stored-procedures,Java,Sql Server 2008,Spring Mvc,Java Stored Procedures,我从Java调用sqlserver2008中的存储过程 jdbcCall = new SimpleJdbcCall(dataSource).withProcedureName("User_Ip_Details"); output = jdbcCall.execute(input); 我的存储过程有一个输出参数和一个insert、update语句。 存储过程中没有问题。 执行存储过程后,控件转到catch块,我得到下面的消息 [JdbcTemplate] CallableStatement.ex

我从Java调用sqlserver2008中的存储过程

jdbcCall = new SimpleJdbcCall(dataSource).withProcedureName("User_Ip_Details");
output = jdbcCall.execute(input);
我的存储过程有一个输出参数和一个insert、update语句。
存储过程中没有问题。
执行存储过程后,控件转到catch块,我得到下面的消息

[JdbcTemplate] CallableStatement.execute() returned 'false' 
[JdbcTemplate] CallableStatement.getUpdateCount() returned -1 
[DataSourceUtils] Returning JDBC Connection to DataSource 

我猜insert、update语句返回了一些值,这导致了问题。
请告诉我这里发生了什么问题以及如何解决这个问题。

add@Transactional(rollboor=Exception.class)对于spring控制器方法或SimpleJDBC调用的方法,请先查看该过程是否在SQLServer中工作,然后再发布过程代码。该过程工作正常,没有问题。我在帖子中提到了这一点。jdbc sp调用在存储过程中的insert和update语句都不能正常工作。这就是它插入和更新的问题,您很可能需要事务范围来运行java calli,我不知道这一点。请让我知道如何做到这一点,我将检查并确认您是否使用了spring模板,如果该案例只是使用@Transactional注释您的方法帮助我了解引入此注释对我的问题有什么作用?stacktrace在catch do exp.printStackTrace()中的try catch中包装您的代码是什么,查看服务器日志并发布完整的堆栈traceno足够的信息此链接可能会对您有所帮助