結合業務查詢 分布式

2021-08-01 05:41:13 字數 2954 閱讀 7360

bps工作流預設客戶端介面中包括"待辦任務列表"、"已辦任務列表"等純流程資訊,而為了業務操作人員更全面了解任務相關的業務資訊,往往需要在任務列表中顯示工作任務相關的業務屬性資訊。

本場景適用業務表和流程表不在同乙個資料來源的部署模式,解決不同資料來源情況下流程表和業務表聯合查詢的問題,基本原理是bps引擎執行時會將業務表的資料儲存到流程庫的冗餘表中用來實現結合業務查詢。

報銷業務表

? create table expenseinfo

(

expid          numeric(18) notnull,

processinstid  numeric(18) notnull,

expname        varchar(20) notnull,

expmoney       number notnull,

reason         varchar(255),

isbudgetitem   char(1),

auditor        varchar(20)

);

alter table expenseinfo  add constraint p_exp primary key (expid);

-- add comments to the columns

comment on column expenseinfo.expid

is'報銷單編號';

comment on column expenseinfo.processinstid

is'流程例項id';

comment on column expenseinfo.expname

is'報銷人';

comment on column expenseinfo.expmoney

is'報銷金額';

comment on column expenseinfo.reason

is'報銷原因';

comment on column expenseinfo.isbudgetitem

is'是否是預算內專案';

comment on column expenseinfo.auditor

is'財務審閱人';

插入業務資料,建立流程例項時需要輸入業務資料。引擎會根據對映關係將業務資料寫到wfbizinfo冗餘表中,關鍵**如下:

? string tablename="expenseinfo";

map bizinfo =newhashmap ();

bizinfo.put("expname", expenseinfoform.getexpname());

bizinfo.put("expmoney", expenseinfoform.getexpmoney());

mng.startprocessinstancewithbizinfo(processinstid,false,newobject[0], tablename, bizinfo);

結合業務查詢關鍵**

? publiclistgetusertasksbizinfo(user user,expenseinfoform expenseinfoform, pagecond pagecond)

throwswfserviceexception

分布式查詢

sql server所謂的分布式查詢 distributed query 是能夠訪問存放在同一部計算機或不同計算機上的sql server 或不同種類的資料來源,從概念上來說分布式查詢與普通查詢區別 它需要連線多個mssql伺服器也就是具有多了資料來源.實現在伺服器跨域或跨伺服器訪問.而這些查詢是否...

分布式查詢

exec sp addlinkedserver server servera srvproduct provider sqloledb datasrc 192.168.0.28 exec sp addlinkedsrvlogin rmtsrvname servera useself false rm...

分布式查詢

sql server所謂的分布式查詢 distributed query 是能夠訪問存放在同一部計算機或不同計算機上的sql server 或不同種類的資料來源,從概念上來說分布式查詢與普通查詢區別 它需要連線多個mssql伺服器也就是具有多了資料來源.實現在伺服器跨域或跨伺服器訪問.而這些查詢是否...