我使用oracle 9i的透明网关访问sql server 2005的数据表(arch_tab)。假设该表有列:A,B,C,D。我在oracle 里建立了一个dblink(test),同时建立的一个同义词:syn_tab(arch@test),我在oracle里写了个函数:FUNCTION Get_B(
  vol_id_ IN NUMBER ) RETURN VARCHAR2
IS
  temp_ varchar2(200);
CURSOR get_attr IS
  SELECT "B"
  FROM syn_tab
  WHERE "A" = vol_id_;
BEGIN
  OPEN get_attr;
  FETCH get_attr INTO temp_;
  CLOSE get_attr;
  RETURN temp_;
END Get_Vol_Dh;我在编译的时候,oracle报错:ORA-00980,说我的同义词失效了。
这是什么原因?难道是因为我放在游标里吗?
应该怎么解决?谢谢!