我想用jdbctemplate調用一個使用java的存儲過程,並且大部分時間我得到了下面的異常。嵌套的異常是com.microsoft.sqlserver.jdbc.SQLServerException:服務器無法恢復交易
2016年5月3日11時47分26秒ERROR SomeController:60 - 錯誤在..getOpenItems()
org.springframework.jdbc.BadSqlGrammarException:PreparedStatementCallback;錯誤的SQL語法[{call storeproc1(?,?,?,?,?,?,?,?)}];嵌套的異常是com.microsoft.sqlserver.jdbc.SQLServerException:服務器無法恢復事務。說明:a600000018。在org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:98)
在org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)
在org.springframework .jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80) 在org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80) 在org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate的.java:603) at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTem plate.java:637)
Java代碼:
String sql = "{call storeproc1(?,?,?,?,?,?,?,?)}";
Object[] parameters = new Object[] {iDisplayStart,iDisplayLength,iSortCol_0,sSortDir_0,sSearch,accNr,ownNr,place};
List<DetailBen> invoiceAvailable = jdbcTemplate.query(sql, parameters,new DetailMapper());
我做錯任何事。它在本地環境中工作正常,但在測試環境中拋出上述異常。
本地環境是否連接到同一臺服務器?值得檢查Db版本號和JDBC驅動程序。 –