存储过程不存在?!(PROCEDURE does not exist)

T_Hua 2009-08-20 03:50:38
我用ibatis调用存储过程,存储过程明明在,可是怎么报错不存在?
...全文
6613 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
T_Hua 2009-08-21
  • 打赏
  • 举报
回复
各位 多谢。

这个问题出现是因为我马虎。有两个数据库结构完全一样,数据几乎相同的数据连接。我之前修改之后可能是没保存,所以一直调用的是旧的数据连接(里面没有我所要调用的那个存储过程,但是其他数据基本正常,所以我一直没发现),在数据库客户端执行的都是正确的数据连接,所以会出现这么诡异的状况。

本人第一次发帖,给分细节也不是很清楚,如果有不妥的地方,大家多谅解。
vinsonshen 2009-08-21
  • 打赏
  • 举报
回复
我执行call T_Hua(?),在控制台会输出call T_Hua(“123”)——这正是我想要的,但是之后报异常FUNCTION T_Hua does not exist

--------------------------
怎么会报FUNCTION的错的?好奇怪哦
你的T_Hua确定是存储过程吗?还有你的调用的写法确定不会是作为函数那样来调用吧?
建议你仔细检查下,因为根据你所报的错误,估计是写法把它作为“函数”用了
bakeloar 2009-08-21
  • 打赏
  • 举报
回复

SHOW CREATE {PROCEDURE | FUNCTION} sp_name

SHOW {PROCEDURE | FUNCTION} STATUS [LIKE 'pattern']

CALL sp_name([parameter[,...]])
T_Hua 2009-08-21
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 acmain_chm 的回复:]
引用在数据库客户端调用存储过程没问题,但是用程序调用就会出问题

在程序中象处理普通SELECT语句一样来调用一下 call proce() 这样试一下。
[/Quote]


我就是这么写的。
比如我的存储过程叫T_Hua
我执行call T_Hua(?),在控制台会输出call T_Hua(“123”)——这正是我想要的,但是之后报异常FUNCTION T_Hua does not exist
ACMAIN_CHM 2009-08-21
  • 打赏
  • 举报
回复
[Quote]在数据库客户端调用存储过程没问题,但是用程序调用就会出问题[/Quote]

在程序中象处理普通SELECT语句一样来调用一下 call proce() 这样试一下。
T_Hua 2009-08-21
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 vinsonshen 的回复:]
SQL codemysql> show grants;
[/Quote]
在数据库客户端调用存储过程没问题,但是用程序调用就会出问题
vinsonshen 2009-08-21
  • 打赏
  • 举报
回复
mysql> show grants;
T_Hua 2009-08-21
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 acmain_chm 的回复:]
另外有是否有权限执行这个存储过程?
[/Quote]

这个权限怎么查看?
T_Hua 2009-08-21
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 zhoupuyue 的回复:]
show procedure status 看看数据库里有没有这个存储过程。
[/Quote]

有的
ACMAIN_CHM 2009-08-20
  • 打赏
  • 举报
回复
另外有是否有权限执行这个存储过程?
ACMAIN_CHM 2009-08-20
  • 打赏
  • 举报
回复
你的存储过程是否在当前数据库下?
阿_布 2009-08-20
  • 打赏
  • 举报
回复
show procedure status 看看数据库里有没有这个存储过程。
vinsonshen 2009-08-20
  • 打赏
  • 举报
回复
T_Hua 2009-08-20
  • 打赏
  • 举报
回复
如果你熟悉的话,能不能详细说明一下?
vinsonshen 2009-08-20
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 t_hua 的回复:]
没有问题
[/Quote]

那这个你得检查你的ibatis调用存储过程方式是否对了
T_Hua 2009-08-20
  • 打赏
  • 举报
回复
存储过程我第一次使,不知道为什么就是调用不成功
T_Hua 2009-08-20
  • 打赏
  • 举报
回复
没有问题
vinsonshen 2009-08-20
  • 打赏
  • 举报
回复
你把ibatis调用存储过程的对应SQL拿到mysql窗口下直接调用看是否可行先吧
T_Hua 2009-08-20
  • 打赏
  • 举报
回复
大小写和数据库都没有问题
vinsonshen 2009-08-20
  • 打赏
  • 举报
回复
如果你系统设置了大小写区分,则要注意大小写的写法
还有是否是去到对应的数据库下调用存储过程了?

56,801

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧