2、标准API前者例如AP的发票
,供应商、客户
,具体实现方式是,将数据按照接口表规格准备到接口表中,然后运行标准的import程序将接口表数据导入到Oracle EBS中(即各接口表对应的正式table中)。
而例如银行、分行、银行帐户相关API,一般通过客户化程序,调用此类API实现将数据导入系统,此时一般也会新建一些客户化staging table,先将外部数据准备到staging table后,再使用客户化程序,调用API将资料导入Oracle EBS中。
通常,“Oracle EBS的接口方式”指的是数据进入Oracle EBS的方式,主要有两类技术:
1、标准接口表
2、标准API
前者例如AP的发票接口表,供应商、客户接口表,具体实现方式是,将数据按照接口表规格准备到接口表中,然后运行标准的import程序将接口表数据导入到Oracle EBS中(即各接口表对应的正式table中)。
而例如银行、分行、银行帐户相关API,一般通过客户化程序,调用此类API实现将数据导入系统,此时一般也会新建一些客户化staging table,先将外部数据准备到staging table后,再使用客户化程序,调用API将资料导入Oracle EBS中。
而DBLINK则是数据库之间的资料交换方式,假如Oracle EBS的数据库需要与其他数据库(例如其他系统的数据库)进行资料交互,那么DBLINK是其中一个选项而已。
以上,两者直接比较没有太大意义,完全可能是应用于不同业务场景下的技术。
oracle中一个数据库表通过另一个数据表的数据同步最新数据采用dblink的方法:1.首先创建一个dblink,可以访问远程数据库
2.在本地创建一个快照,映射远程数据表,当远程数据表有变化时,会反应到快照中.
3.由于快照类似于视图表,所以在本地为快照创建一个触发器,当快照有变化时,会触发相应事件.
4.在触发器中写同步数据的代码。
以下是触发器代码:
createorreplacetriggerTRI_test_user_AFR
afterinsertorupdateordeleteonsn_test_user
foreachrow
begin
if deleting then
deletefromtest_userwhereid=:old.id
endif
if inserting then
insertintotest_user(id,name,age)
values(:new.id,:new.name,:new.age)
endif
if updating then
updatetest_usersetname=:new.name,age=:new.agewhereid=:old.id
endif
endTRI_test_user_AFR
创建公开数据库链接\x0d\x0aCREATEPUBLICDATABASELINK“数据库链接别名”\x0d\x0aCONNECTTO“登陆用户”IDENTIFIEDBY“登陆密码”\x0d\x0aUSING'(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=IP)(PORT=1521)))(CONNECT_DATA=(SID=SID)))'\x0d\x0a例如:\x0d\x0aCREATEPUBLICDATABASELINKMYDBLINK\x0d\x0aCONNECTTOUSER1IDENTIFIEDBYPASSWORD1\x0d\x0a\x0d\x0aUSING'(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.10.10.10)(PORT=1521)))(CONNECT_DATA=(SID=ORA10)))'欢迎分享,转载请注明来源:内存溢出
评论列表(0条)