sql server 访问oracle 的同义词表

问题遇到的现象和发生背景

sqlserver 数据库通过链接服务器访问oracle数据的同义词表

oracle数据库有
用户A 拥有表a1
用户B ,通过同义词,映射用户A的a1表

在sqlserver数据库中,使用用户B建立链接服务器
能够访问到的表带的前缀还是 A.a1 而不是 B.a1

请教:
为啥sqlserer中看到的表前缀是 A.a1,不是 B.a1?

你想要在那个用户下操作就在他的表下建立同义词,再指定授权他要访问的用户。

oracle中表是按照用户来划分点,一个用户对应着一些标,例如在oracle数据库中存在a1和a2两个用户,a1有表A,a2有表B,若用户a1想要访问B表(不属于自己),就必须要加上对应表的用户这个前缀,因此需要写成a2.B
结论是 如果一个用户想调用其他表(其他用户的表),首先得具有相应的权限,另外调用语法是 其他表用户名.表名