java.sql.SQLException:找不到存储过程

问题描述 投票:0回答:1
[dbo].[GetUserCredentials]
   @Company varchar(255),
   @SchedType varchar(255),
   @ShiftHours varchar(255),
   @UserRole varchar(255),
   @UserDesc varchar(255),
   @UserOwner varchar(255)
select ... from ... where ...

存储过程^

调用存储过程的Java代码

CallableStatement statement = con.prepareCall("{call GetUserCredentials}");
statement.execute();

结果

java.sql.SQLException:找不到存储过程'GetUserCredentials'。

java jdbc callable-statement java-stored-procedures
1个回答
1
投票

我可以看到您的存储过程缺少输入参数,请添加“?” (输入参数的数量)在prepareCall语句中例如。

stmt = con.prepareCall("{call insertEmployee(?,?,?,?,?,?)}");
            stmt.setInt(1, id);
            stmt.setString(2, name);
            stmt.setString(3, role);
            stmt.setString(4, city);
            stmt.setString(5, country);

看此article可以更好地理解它

© www.soinside.com 2019 - 2024. All rights reserved.