【问题标题】:java.sql.SQLException: Could not find stored procedurejava.sql.SQLException:找不到存储过程
【发布时间】:2020-02-02 10:20:15
【问题描述】:
[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】:

我可以看到您的存储过程缺少输入参数,添加“?” 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 以更好地理解它

【讨论】:

  • 感谢您的评论,这就是我所做的。我编辑了存储过程并将设置的字符串添加到代码中
猜你喜欢
  • 2010-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-05
相关资源
最近更新 更多