Chinaunix首页 | 论坛 | 博客
  • 博客访问: 894805
  • 博文数量: 101
  • 博客积分: 2256
  • 博客等级: 大尉
  • 技术积分: 1481
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-19 17:52
文章存档

2017年(1)

2013年(2)

2012年(25)

2011年(73)

分类: Oracle

2011-04-19 18:36:19

一.定义介绍
这个你要明白dblink是怎么使用的.
dblink是你用对方数据库的某个用户登录,然后使用这个用户访问表.
比如自己数据库是A,现用用户scott,对方数据库B,下有用户jane和john.
你需要访问john用户的emp表.但是对方给了你jane的用户名和密码 ,你只能建立一个到对方jane用户的dblink.这时候你怎么访问john用户的emp表呢.这时候需要B数据库管理员把john.emp的select权限赋予jane用户,那你就可以通过dblink访问了.
反过来你的问题应该也明白怎么办了吧.
如果对方要访问你的表,那么他必须知道你所在数据库的一个用户和密码,如果就是你的表所属的用户,那么不用授权,如果是另一个用户c,那么你只需要把权限赋予用户c就可以了。


二.报错解决方法

以下是一点儿经验:
A : 你要连接的机器
B: 创建db link的机器
1, using后面的串必须是B的连接串;因为你是要在B上,创建A的db link的;--开发者比较容易犯这个错,因为总会连接很多的其他开发者的机器
2, 密码用""引起来,这个原因很奇怪,没有见过; --ora-01017,ora-02063, 用户名和密码错误;
3, A和B的机器的GLOBAL_NAMES需要一样,数据库的默认设置;--ora-12154,这个错误网上的解答就比较多了;
但是现在是A和B的不一样,所以我把A和B上执行了: ALTER SYSTEM SET GLOBAL_NAMES=FALSE;


阅读(1971) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~