oracle里的interface,请教Interface的设计,谢谢大家

可能我們的用詞不太一樣. 我開發Interface拋轉程式的順序如下.

1.會先決定Interface table 在哪邊

外部系統拋入(File or insert table)->customize Interface (Oracle )->Standard Interface (Oracle)

或是

Oracle 直接去Get 外部系統的資料(DBlink)

2.寫Valiadte 程式驗證資料正確性

1.可要求外部系統丟進來的資料須先通過驗證(驗證程式寫在外部系統)

2.先拋到customize interface ,通過我們自行客製的驗證程式在 import 到Standard interface

3.Call Standard Imoport program 去進行Standard

--------------------------------------------------------------------------

另外你說的寫batch调用多个子程序,指的是說寫Package裡面再call concurrent嗎?這是一種方法,

如果你的客戶要用請求集,那麼你就去掛Concurrent set就好,這樣你還比較省工

--------------------------------------------------------------------------

3.需要建零时表吗

你要建立His的備份表格,以免以後資料有問題死無對證,通常保險的話是會開兩個Table,將資料同步拋入兩個Table

Ex. AP_IMPORT        --讀取完後殺掉,中間每個階段的過程,可以用FLAG欄位去控制

AP_IMPORT_HIS --永久保留

這樣的好處是,假設你需要重拋,你可以從HIS中直接取得資料;而且也可以保留原始證據

------------------------------------------------------------------------------------------

如果想把出错时的信息,进行一元化管理,请问有什么好的方法吗,自己可以写log吗

1.可以直接在PACKAG裡面寫ALERT的語法,這樣遇到異常的時候可以及時發MAIL ALERT給

USER

2.不MAIL ALERT但是將資料的FLAG改成'E',並且讓CONCURRENT變成ERROR OR WARING,

並將結果LOG出來

EX:總共處理100筆 ,失敗50筆,成功50筆,失敗及成功明細如下..

3.將ERROR寫入ERROR TABLE

----------------------------------------------------------------------------

5.客户希望把Interface执行结果,通过mail 通知用户,请问具体怎么实现呢?

1)如上所敘,如果你將ERROR資料寫入ERROR TABLE,那你可以客製ALERT去MAIL

我比較傾向用這種方法

2)直接在PACKAGE中寫MAIL的語法,將ERROR資料寄出

你若有需要,我可以把語法給你.(缺點是如果是排程程式,三分鐘一次...你的MAIL會爆掉)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值