A:这是由于之前安装的KingbaseES未卸载干净导致。KingbaseES安装程序在运行时会通过InstallAnywhere注册的信息和开始菜单中KingbaseES的“卸载”快捷方式来检查环境中是否仍存在KingbaseES。
解决方法如下:
步骤一:打开文件“.com.zerog.registry.xml”(Windows中,位于%PROGRAMFILES%\Zero G Registry下;Linux和AIX中,位于/var下),删除所有包含“KingbaseES”或“BaseSoft Inc.”字样的内容。
步骤二:删除KingbaseES的“卸载”快捷方式。
Windows:%ALLUSERSPROFILE%\「开始」菜单\程序\金仓数据库KingbaseES V6.1.3\卸载.lnk。
进入开始菜单-金仓数据库KingbaseES V6.1.3,点击启动金仓数据库,等待几秒钟后再重新登陆。如每次开机后都会出现此提示,请首先升级防火墙,再进入开始菜单-全国党员管理信息系统(基层版),点击注册数据库服务,下次重启后将不会再需要手工启动数据库。从楼主给的语句看:CREATE TABLE WORKER(
WNO CHAR(8),
WNAME CHAR(6),
AGE CHAR(3),
POSITION CHAR(10),
WAGE CHAR(4),
DNO CHAR(6))
CREATE TABLE D(
DNO CHAR(6),
DNAME CHAR(10),
MNAME CHAR(6),
ADRESS CHAR(10),
TEL CHAR(12))
CREATE ROLE 王明
GRANT SELECT
ON TABLE WORKER,D
TO 王明
这前面的语句都是比较标准的SQL语句,应该执行是没有问题的;
我认为还是这句话的问题:
GRANT SELECT,D
ON TABLE WORKER
WHEN USER()=WNAME
TO ALL
确认一些user()和WNAME代表的是什么?
就可以找到问题原因。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)