求java大神解释oracle新用户查询问题 我用的myeclipse9
查询Stringsql="select*fromsudent";我用scott用户怎么查询都没问题,但是我用我新建Newuser用户查询Stringsql="select...
查询String sql="select * from sudent";我用scott用户怎么查询都没问题,但是我用我新建Newuser用户查询String sql="select * from sudent"就要出错表名找不到 我还是特意这样写的create table "Newuser"."Students"(...),最后我的同学叫我这样写String sql="select * from "+(char)34+"Students"+(char)34;就没有问题了但是不对哦oracle毕竟收购了sun公司 我连接sql2008和mysql都没有这种奇葩的事情特意强行转换一个冒号,还是新用户要设置什么我没设置?????
展开
5个回答
展开全部
是你建表的时候表名加冒号了,表名加冒号后是表示全部匹配的,也就是区分大小写的,创建的时候是什么样的查询的时候就得是什么样,而且要加冒号.不加冒号的话表示不区分大小写,同时也要求创建表的时候表名不加冒号.
oracle中创建所有的东西都是这样的,包括用户
如果你create user a identified by b 这样你用户用 a或A 密码用 b或B 都是能登陆的.
但是如果你create user 'a' identified by 'b' 你用户名和密码必须是a 和 b,
总结一点就是在oracle中不加引号表示不区分大小写,大写小写都行,
加引号就表示要区分大小写,是全匹配
希望对你有所帮助,望采纳
oracle中创建所有的东西都是这样的,包括用户
如果你create user a identified by b 这样你用户用 a或A 密码用 b或B 都是能登陆的.
但是如果你create user 'a' identified by 'b' 你用户名和密码必须是a 和 b,
总结一点就是在oracle中不加引号表示不区分大小写,大写小写都行,
加引号就表示要区分大小写,是全匹配
希望对你有所帮助,望采纳
展开全部
schema 不同,新建的用户得有权限才可以。
建立表的时候,使用用户scott,所以在scott的schema中。如果newuser想查询,首先要有权限,然后select * from scott.sudent(.前面的写上确切的schema名称)。
做oracle,一开始,就要建好用户、表空间、分配好权限 等
另外 那个冒号,这样写 String sql="select * from \"sudent\"";
建立表的时候,使用用户scott,所以在scott的schema中。如果newuser想查询,首先要有权限,然后select * from scott.sudent(.前面的写上确切的schema名称)。
做oracle,一开始,就要建好用户、表空间、分配好权限 等
另外 那个冒号,这样写 String sql="select * from \"sudent\"";
更多追问追答
追问
冒号冒号 啊大哥 你没明白 我没报错 运行正常 我新建的用户建表后为什么要加冒号才能查询而scott用户不加冒号就能查询
追答
回答中讲了,首先是权限,然后是schema不同。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
权限问题。
grant select on sudent to Newuser;
给用户查询sudent 表的权限。
你试一下。
grant select on sudent to Newuser;
给用户查询sudent 表的权限。
你试一下。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在oracle中不用像sqlserver中那样的写。oracle是每个用户一个实例的。不像sqlserver,一个sa用户可以看到当前服务下所有的数据库。所以你如果新建了一个用户的话,就需要在当前用户下建表。oracle和sqlserver的机制是不一样的。
更多追问追答
追问
我是在当前用户建的表"Newuser"."Students"(...) 我只问那个奇葩的冒号问题
追答
如果是当前用户键的表就不需要"Newuser"."Students"(...) 。
举个例子
create table TEMPTABLE
(
ID VARCHAR2(50) not null,
REVIEWTYPE VARCHAR2(20),
DEPARTMENTBSOID VARCHAR2(50),
JYPROJECTID VARCHAR2(50)
)
这样就创建了一个表
你的NewUser是想指明一个表空间吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
新建表是在当前用户下建的吗?总感觉你这个用户访问不到那张表 是不是用户建到另外的实例里去了,而scott却能查出来。 如果 你用这个用户(newUser)连,并且访问 scott.Students 可以的话 那就是表不属于当前用户。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询