再问--找不到表
我oracle8i上面有两个数据库,一个是logzgh,一个是testsale
我从sqlserve2k中把数据导到testsale里面去。 我用sqlplus登陆testsale时
运行sql语句时却说找不到表或视图,比如select * from 表名1.但是这个表明明
存在testsale里面tools表空间里面啊。
我用sqlplus登陆到logzgh上面时,一切是正常的。
-------------------------------------------------------------------------后来经高人指点,创建别名就可以了。 可是为什么会这样啊? 不可能每个表都要我去
创建别名吧?
还有
方案 表名 表空间
system customers tools
...... ........ .....
这个方案表示什么意思啊?
//bow~~~~
问题点数:60、回复次数:6Top
1 楼BlueskyWide(谈趣者)回复于 2003-08-03 11:44:55 得分 5
以dba用户进入,赋权限:
grant connect,resource,select any table to testsale;
Top
2 楼beckhambobo(beckham)回复于 2003-08-03 12:31:45 得分 15
那当前用户是否有权限?
select * from user_role_privs; --查看当前用户权限
select * from user_tables; --确认存在表
还要注意大小写问题,通过其它数据移植到oracleTop
3 楼logzgh(好好学习!)回复于 2003-08-05 10:17:13 得分 0
我是以system用户,以DBA角色登陆的。
这个表当然是存在的,也是属于system用户的。
为什么用别名就可以访问呢?
有没有谁碰到过这种情况?
//bow~~~Top
4 楼bzszp(SongZip)回复于 2003-08-05 10:25:22 得分 5
这样也要赋权限的Top
5 楼tsj68(tsj)回复于 2003-08-05 14:29:46 得分 20
表名要加双引号,
select * from "table_name"
因为在其他数据库导入到oracle中的表,是不会把表名转换为大写的,而是小写的,
在oracle对于小写的对象要家双引号.Top
6 楼snowy_howe(天下有雪)回复于 2003-08-05 19:50:42 得分 15
即使DBA用户也是需要赋予权限才能访问的。
1、可以创建public类型的别名;
2、给该用户赋予权限。
3、在访问时用select * from logzgh.表名1;
加上模式名.表名Top




