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' )
如果是使用的Form,在on-logon触发器中在logon之后 通过判断FORM_SUCCESS来获取 exp: LOGON(username, password||'@'||dblink,FALSE); IF FORM_SUCCESS THEN --成功登录 ... ELSE --登录不成功 ... END IF;
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;
可以返回异常结果
如果远程数据库网络不通,触发器中运行下列语句要很长时间,而且最后还是报错不能更新本地数据库。
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' )
通过判断FORM_SUCCESS来获取
exp:
LOGON(username, password||'@'||dblink,FALSE);
IF FORM_SUCCESS THEN
--成功登录
...
ELSE
--登录不成功
...
END IF;
测试还是不成功,能否写一个实例呢?
我是这样写的:
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;