我在Java代碼中調用一個存儲過程,它使用Sybase數據庫如下:的Java存儲過程不執行
CallableStatement cstmt=sigmaConnection.prepareCall("{call dbo.sp_insRadEntry(?, ?, ?, ?, ?, ?, ?)}");
cstmt.setString(1,"Nappa");
cstmt.setInt(2,40);
cstmt.setString(3,"Vegeta");
cstmt.setString(4,"Saiyan");
cstmt.setString(7,"Hello");
cstmt.execute();
正如你可以看到我有故意不設置第5和第6個參數作爲我的存儲過程具有默認值,如果任何值沒有通過,並在此調用dbo.sp_insRadEntry(?,?,?,?,?,?,?)我有7個參數,因爲它不允許我設置第7個參數沒有在這裏有7個逗號。
但我發現了以下異常,即使我已經設置了4個參數:
「值java.sql.SQLException:JZ0SA:準備語句:未設置輸入參數,指數:4」
您可以發佈CREATE PROCEDURE語句的頂部(與變量,默認值等) – Hotel