我试图授予用户在MySQL数据库上的存储过程级别运行存储过程的权限,而不是允许用户在数据库中执行任何存储过程.我试图执行以下代码:
GRANT EXECUTE ON myDB.spName TO 'TestUser'@'localhost';
Run Code Online (Sandbox Code Playgroud)
但我不断收到以下错误: Illegal GRANT/REVOKE command, please consult the manual to see which privileges can be used.
我尝试将其更改为以下内容:
GRANT EXECUTE ON PROCEDURE myDB.spName TO 'TestUser'@'localhost';
Run Code Online (Sandbox Code Playgroud)
我得到一个不同的错误说明:
Cant find any matching rows in the user table.
我很困惑我哪里出错了?
同样在MySQL Workbench上,我似乎无法通过GUI看到在存储过程级别授予权限的任何方法.这是正确的还是我错过了什么?
提前致谢.
我试图通过存储过程在SQL Server FileTable中创建目录,我调用以下代码:
INSERT INTO tblMyFiles (name, is_directory, is_archive)
VALUES ('foldername', 1, 0);
Run Code Online (Sandbox Code Playgroud)
调用此代码后,如果我在SQL Server Management Studio中选择行,但是如果通过Windows资源管理器浏览到文件表目录,我可以看到文件表中的行,我看不到新创建的目录.如果我刷新Windows资源管理器,则该目录仍然不会显示.如果我在资源管理器的文件表目录中创建一个文件,它似乎唤醒了资源管理器,然后出现通过存储过程创建的所有目录.
我在同一个SQL框和另一个数据库上运行它时没有遇到这个问题,我已经比较了所有的属性,它们看起来完全相同,但我必须遗漏一些东西,不知道是什么?任何帮助将非常感激.提前致谢