本帖最后由 leoofchina 于 2010-02-20 04:07:45 编辑

解决方案 »

  1.   

    需要在两个数据库之间同步数据,因此在一段数据库上做了一个dblink,用存储过程使用dblink的表,把数据跟新到本地同时更新远程数据库的表,但是在存储过程中遇到的问题是:  CURSOR c1 is select * from dblinkTableName;这句话总是提示表或视图不存在,因此我是百思不得其解,最后研究了半天找到了三种方法解决此问题1.用动态游标strSql1:='select stu_name from dblinkTableName@dblinkName;OPEN CUR FOR strSql1;2.使用视图为远程的表创建视图:CURSOR c1 is select * from View_TableName;3.最简单的方法CURSOR c1 is select * from dblinkTableName;改为CURSOR c1 is select * from dblinkUser.dblinkTableName@dbLinkName; 次问题解决
      

  2.   

    权限问题。应该不是报远程的表找不到,而是UserName.AAAA表找不到。连接到username,把aaa表的select、insert等权限授给当前你使用的用户也。
      

  3.   

    ……都不对,是因为我最开始建DBLink的时候用的是DBA登录的,结果建到了Sys下,我重新建在当前用户下就OK了,现在已经加入了Job变成自动了,呵呵~视图的那个方法从理论上应该是有效的,但我也找到过这个解决方法,试着却无效,可能还是用户权限的问题吧~结贴散分~