Oracle当前数据库用户访问另一个用户的表


故事背景是这样的:一个项目大概涉及到4个工程同时开发,在我自己的工程中需要做一个报表,但是要访问另一个工程所连接的DB,当然两个工程的DB Server是在同一个IP上,也就是说我们之间只是schema不一样,那我怎样完成下面的报表的开发呢?

一开始我直接创建了一个DBLink,但是回头和同时沟通,他认为DBLink的影响过大,当两个数据库不在同一个服务器上的时候才会用到这个,当前的情况最好用schema,但是此处还是把创建DBLink的方法写出来方便记忆:

create database link link名称  connect to 对方数据库用户名 identifiedby 对方数据库用户密码using '对方数据库ip:端口/实例名';

Eg:create database linkdbLinkToAA connect to Jason identified by abc123 using ‘serviceA’,创建一个连接就行了

接下来就是用schema了,下面的语句就是用schema做关联

Eggrant select on Jason.emp to Lucy; 授权查询

 

关于schema我个人的理解是:A要见B,当AB在河岸的同一侧(同一个Server),B只要允许A见他就可以了,当AB不在河岸的同一侧(不同Server,A要搭一座桥,并且还得获得B的同意,也就是知道B的用户名和密码。

以上是个人理解,如果那里不合适,还请各位指正,共同学习。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值