ORA-00942:表或视图不存在
再pl/sql 中以创建的用户student创建表,然后再MFC程序连接数据库也用student登录查询时报错。只有以system创建的表能够被查询到。
收藏
复制链接
微信扫码分享
在小程序上查看
分享
10条回答
默认
最新
pl/sql 登陆是怎么登陆的? as sysdba 吗? 还是普通用户登陆的
评论
有用 0采纳答案后不可修改和取消
上传具体截图,方便我们分析,谢谢
评论
有用 0无论是system 还是 创建的用户 student都是以normal 的方式登录的
https://obs-emcsapp-public.obs.cn-north-4.myhwclouds.com/image%2Feditor%2F0ce9fe02-6155-4387-ba71-369cd0157bf6.png
评论
有用 0既然查不到,如果没有连错库的话,请检查表是否创建成功,连接用户是否有查询权限。
请提供plsql 登陆用户及方式,创建语句
程序连接用户信息,表对象owner信息
评论
有用 0
create tablespace MY_TBL_SPACE NOLOGGING
datafile 'D:\APP\ORADATA\ORCL\studnet.dbf' size 1024M autoextend ON next 100M maxsize UNLIMITED
-- Create the user
create user STUDENT
identified by " STUDENT "
default tablespace MY_TBL_SPACE
temporary tablespace TEMP
profile DEFAULT
password expire;
-- Grant/Revoke role privileges
grant connect to STUDENT;
grant dba to STUDENT;
-- Grant/Revoke system privileges
grant execute any procedure to STUDENT;
grant execute any type to STUDENT;
grant select any dictionary to STUDENT;
grant select any table to STUDENT;
grant unlimited tablespace to STUDENT;
然后编辑了 student 的用户密码 退出pl/sql 用student normal方式登录创建的表

在pl/sql 中 student 是能够查询到该表的,但是在MFC程序中只有system用户登录才能查询到system 创建的表
评论
有用 0这是连接字串
strConnection = "Provider=OraOLEDB.Oracle;Data Source=(DESCRIPTION=(CID=GTU_APP)"
"(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=" + sIP+")(PORT=" + sPort + ")))"
"(CONNECT_DATA=(SID="+ sSrvName +")(SERVER=DEDICATED)));User Id=student;Password=123456;PLSQLRSet=1;";
又试了一遍 sutdnet 用户是能够查找到表的,但是这个表的是以system登录创建的

评论
有用 0还是没怎么看懂说了什么。
grant select any table to STUDENT; 不过已经给 student 用户授权查询任何表了,那么不管哪个用户创建的表, student 用户均可查看。
评论
有用 0你这个STUDENT已经有dba权限了,可以操作任何表,操作其他用户的表是否没加前缀?
评论
有用 0既然user表是system用户创建的,你就应该访问system.users
评论
有用 0回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏


