2012-04-26 78 views
0

我正在使用DBVisualizer与我的共享主机数据库。DBVisualizer不显示SP源代码

我无法看到实际的SP代码,如果我从一个不同的IP地址登录,而不是从我创建SP的登录。

任何想法?我无法在CPanel中找到任何可能会改变此行为的选项。

谢谢

回答

1

什么是存储过程的“DEFINER”?您的用户帐户可能没有来自第二个IP地址的权限。如果您没有“SUPER”权限,则不能为您的当前用户帐户指定“DEFINER”的任何其他值,如果您从另一个IP地址登录,则无法保证它使用的是同一帐户。

因此,请尝试向存储过程授予更多权限。

此外,您可能希望看到MySQL的“SQL SECURITY INVOKER”选项。 http://dev.mysql.com/doc/refman/5.0/en/stored-programs-security.html

+0

你是对的,DEFINER值包含以前的IP地址。谢谢。 – user1359575 2012-04-26 20:33:27

+0

看来我还没有更新DEFINER的权限。 – user1359575 2012-04-26 20:36:48

+0

您可以使用更多的通用用户名(例如DEFINER ='user'@'%')删除并重新创建存储过程吗? – darpified 2012-04-26 21:53:05