判断
SELECT * FROM global_name@orcl_link;的返回结果

解决方案 »

  1.   

    同意楼上的方法,不过用个procedure来做可能更好一点,
    可以返回异常结果
      

  2.   

    to maohaisheng() 
    如果远程数据库网络不通,触发器中运行下列语句要很长时间,而且最后还是报错不能更新本地数据库。
    SELECT * FROM global_name@orcl_link;ORA-12203: TNS:unable to connect to destination
    ORA-06512: at "SZMIS.MS_STATION_I", line 5
    ORA-04088: error during execution of trigger 'SZMIS.MS_STATION_I'
    No changes made to database.
    INSERT INTO "MS_STATION" ( "VC_ID", "VC_NAME" ) VALUES ( 'fffffffffffff', 'AAAAAAAAAABBBBBBBBB' )
      

  3.   

    如果是使用的Form,在on-logon触发器中在logon之后
    通过判断FORM_SUCCESS来获取
    exp:
           LOGON(username, password||'@'||dblink,FALSE);
           IF FORM_SUCCESS THEN
              --成功登录
              ...
           ELSE
              --登录不成功
              ...
           END IF;
      

  4.   

    TO:moonlake(蓝月亮):LOGON(username, password||'@'||dblink,FALSE);
    测试还是不成功,能否写一个实例呢?
      

  5.   

    TO:moonlake(蓝月亮):
    我是这样写的:
    BEGIN
      LOGON(szmis,szmis||'@'||szmis_lnk,FALSE);
      if FORM_SUCCESS then
         INSERT INTO "MS_STATION" ( "VC_ID", "VC_NAME" )
                VALUES( 'fffffffffffff', 'AAAAAAAAAABBBBBBBBB' )
     end if;
    END;