Я пытаюсь вызвать хранимую процедуру из Java, и у меня возникают некоторые проблемы с получением правильного вызова.Я просмотрел множество примеров, но они не соответствуют синтаксису хранимой процедуры, которую я пытаюсь вызвать.
STORED PROCEDURE CODE
------------------------
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[getMgr]
@UserID as varchar(5),
@ModeType as char(1)
AS
BEGIN
SELECT usermgrid from AllEmployees WHERE (ModeType = @ModeType AND UserID =
@UserID)
END
JAVA CODE
----------------------------
connection = getConnection();
cs = connection.prepareCall("{call lvhsp_GetManager(?, ?) }");
cs.setString(0, someUserID);
cs.setString(1, "0");
ResultSet resultSet = cs.executeQuery();
Я пытался вызвать хранимую процедурунесколько разных способов, но я продолжаю получать ошибки.
Когда я вызываю это так, я получаю:
com.microsoft.sqlserver.jdbc.SQLServerException: индекс 0 отсутствуетдиапазона.
Что я предполагаю, потому что это не правильный способ передачи параметра.
Я также пытался вызывать его с именами параметров (UserID, ModeType) с и без@, но это не сработает.
Чего мне не хватает?