错误提示:
错误:PL/SQL: ORA-04052: error occurred when looking up remote object PSTCOA.OUTBOX@LINKPSTCOA
       ORA-00604: error occurred at recursive SQL level 1
       ORA-03106: fatal two-task communication protocol error
       ORA-02063: preceding line from LINKPSTCOA
行:45
文本:insert into outbox@Linkpstcoa(expresslevel,sender,receivermobileno,msg,sendtime,needreport,commport,ischinese)错误:PL/SQL: SQL Statement ignored
创建的DBLINK是测试通过的,直接执行SQL语句是可以的.在存储过程中报如上错误.

解决方案 »

  1.   

    存储过程中每条sql写完后后面要加;符号,才能执行成功,你有没有加?
      

  2.   

    SQL> create or replace procedure proc_test_dblink
      2  as
      3  begin
      4  insert into test@to_101(a,b) values(1,1);
      5  end;
      6  /
     
    Procedure created
     
    SQL> exec proc_test_dblink;
     
    PL/SQL procedure successfully completed
     
    SQL> select * from test@to_101;
     
             A          B
    ---------- ----------
             1          1确认dblink用的用户与要插入数据的表所属用户是否一致,如果不一致需要在引用的表前加标所属用户名.并且确保dblink用的用户对该表有insert权限.
      

  3.   

    檢查下使用 DBLINK的帳號的 授權
      

  4.   

    加上你插入所属表的用户   user.tb@dblink