2012-02-21 60 views
1

是否有可以运行的SQL脚本,或者我可以采取哪些其他操作,为整个数据库用户创建别名?我遇到了用户名文本对于特定程序来说太长的问题,并且我想为该UserId创建一个别名或昵称。Oracle数据库用户别名

编辑:

,而不是用户ID登录:,密码,我想和用户ID登录:,密码。

除了链接oracle用户标识/密码登录凭据之外,该程序不受我控制。

+0

你的意思是你想要别名所有的用户对象,所以你不必使用:? – 2012-02-21 16:59:24

+0

我想完全使用不同的UserId登录,如果可能的话。我在帖子中添加了具体内容。 – 2012-02-21 17:01:37

回答

2

您不能为数据库用户创建别名,否。

虽然你可能不需要。如果A(具有长名称的用户)拥有多个对象,则可以使用短名称创建新的数据库用户B,授予A中对象的B权限,然后在B登录时更改current_schema,以便引用对象正在使用的模式

ALTER SESSION 
    SET current_schema = A; 

这应该完成什么最别名将提供解决。

+0

这是一个好主意。不幸的是,管理oracle连接的应用程序仅限于更改用户标识/密码,因此它不适用于我的特殊情况。尽管这是一个很好的答案。 – 2012-02-21 17:04:27

+1

@StealthRabbi - 您可以在模式B中始终创建一个登录触发器,该模式运行'ALTER SESSION'来将'current_schema'设置为A. – 2012-02-21 17:05:34