Ich versuche, eine gespeicherte Prozedur mithilfe von Java mit jdbctemplate aufrufen, und die meiste Zeit habe ich die folgende Ausnahme.Verschachtelte Ausnahme ist com.microsoft.sqlserver.jdbc.SQLServerException: Der Server konnte die Transaktion nicht fortsetzen
2016-05-03 11:47:26 ERROR SomeController: 60 - Fehler in ..getOpenItems()
org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; schlechte SQL-Grammatik [{call storeproc1 (?,?,?,?,?,?,?,?)}]; verschachtelte Ausnahme ist com.microsoft.sqlserver.jdbc.SQLServerException: der Server konnte die Transaktion nicht fortsetzen. Beschreibung: a600000018.bei org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate (SQLStateSQLExceptionTranslator.java:98)
bei org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate (AbstractFallbackSQLExceptionTranslator.java:72)
bei org.springframework .jdbc.support.AbstractFallbackSQLExceptionTranslator.translate (AbstractFallbackSQLExceptionTranslator.java:80) bei org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate (AbstractFallbackSQLExceptionTranslator.java:80) bei org.springframework.jdbc.core.JdbcTemplate.execute (JdbcTemplate .java: 603) unter org.springframework.jdbc.core.JdbcTemplate.query (JdbcTem plate.java:637)
Java-Code:
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());
Bin ich etwas falsch zu machen. Es funktioniert gut in der lokalen Umgebung, aber wirft die obige Ausnahme in Testumgebung.
Ist die lokale Umgebung mit dem gleichen Server verbinden? Überprüfen Sie die Db-Versionsnummer und den JDBC-Treiber ebenfalls. –