大家好日子,我不知道该怎么做了。我已将我的数据库远程导入服务器。
所以这是我的程序,我有一个定义器db_hrmis@127.0.0.1:
DELIMITER //
CREATE DEFINER=`db_hrmis`@`127.0.0.1` PROCEDURE `proce_give_employee_leave_credits`()
BEGIN
UPDATE inf_employee_leaves lv SET lv.earnings = (lv.leaveMinutesPerMonth + lv.earnings), lv.allowedLeaveInMinutes = ((lv.noOfDays - (CONVERT((lv.earnings/480), DECIMAL(10,2)))) * 480), lv.noOfDays = CONVERT((lv.allowedLeaveInMinutes / 480), DECIMAL(10,2)) WHERE MONTH(lv.lastUpdated) <> MONTH(CURDATE());
END//
DELIMITER ;
因为我远程访问它,我还从我的服务器创建了一个数据库用户(例如db_hrmis @ myipaddress)。 问题是在导入程序后,定义器发生了变化,我无法改变我的程序,当我尝试导出它时,mysql dump只显示如下
DELIMITER //
END//
DELIMITER ;
空结构,我尝试授予权限(执行,创建例程,更改例程),但似乎没有任何工作。
正如你所看到的,定义器没有说明127.0.0.1而且我有#34;你对这个例程没有特权&#34;问题,如果是特权问题,我应该授予用户什么特权?
非常感谢您的帮助。
答案 0 :(得分:0)
可能是因为mysql用户对your_db.table上的特定sp没有执行权限。
请您发布# mysql> grant all privileges on *.* to 'user'@'host';
# mysql> flush privileges;
否则,您可以在为所有数据库上的特定用户授予完全权限后,通过运行程序来确认这一点。
final ActivityManager mActivityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
mActivityManager.getRunningTasks(1).get(0).topActivity.getPackageName();