从事IT基础架构多年,发现自己原来更合适去当老师……喜欢关注新鲜事物,不仅限于IT领域。
分类:
2006-06-09 14:35:12
本以为会很简单,没想到比oracle的dblink方法要复杂很多,呵呵。而且在表很多的时候比较麻烦,最麻烦的地方还是需要建立一个代理库才行。方法如下:
假定有A、B两台服务器,A服务器上有ASE SERVER(serverA) , B服务器上有ASE SERVER(serverB),serverA需要访问serverB中abc库的表。
(注意:以下如无特殊说明请用sa用户完成数据库相应操作)
1. 在A和B的interfaces中分别加入对方的entry,注意entry name必须与对方server name一致
即在A的interfaces中加入serverB条目,在B的interfaces中加入serverA条目
2. 在两个ASE server中分别加入对方对方的server
在serverA中执行sp_addserver serverB
在serverB中执行sp_addserver serverA
3. 在serverA、serverB中加入相同login并保持相同password
在serverA中执行sp_addlogin test,test
在serverB中执行sp_addlogin test,test,abc
在serverA中执行sp_addremotelogin serverB,test,test
4. 赋予test用户对需要远程读取表的权限
在serverB中执行grant
5. 在serverA中建立设备
在serverA中执行disk init name………………
6. 在serverA中赋予test用户建立库权限
在serverA中执行grant create database to test
7. 建立代理库
在serverA中用test用户登录,执行create database
注意username是serverB中需要访问表的属主;dbname是serverB中需要访问的库名,例abc;size是代理库的大小,主要取决于代理表的数量,一般20M左右合适,如不放心,可适当加大