SSIS 脚本任务(Script Task)实战

来源:互联网 时间:1970-01-01

最近在忙一个酒店预订系统项目,已集成API XML,但是提交酒店订单到API之后,订单的状态要实行与API同步。因为可能下一分钟,API的订单状态可能已经确认,但本地订单状态还是 处理当中的。

当客人打开某个订单详细信息的时候,再去Call 一次API的状态。这是既传统,又笨的方法。

但是问题 接踵而至

1. 订单处理既然不及时,又不准时。
2. API提供商不给单条记录去同步状态。
等等。


详细解决方案:

用SSIS 设计 脚本任务, 再部署SSIS包任务,每2分钟Call一次API。

 

步骤:

1.生成Post XML代码

T-SQL CODE

ALTER proc [dbo].[BookingXML]asdeclare @XmlOutput xmldeclare @a nvarchar(max)set @XmlOutput = (select distinct a.APICode as hmcref from dbo.HotelBooking a left join dbo.sys_Procduct b on a.FID=b.FID where isnull(a.APICode,'')<>'' and isnull(a.APIStatus,'') in ('IC','CA','OR')--and a.BDT>=Getdate() and b.Del=0FOR XML Path(''), ROOT('hmcreflist'), ELEMENTS)if cast(@XmlOutput as nvarchar(max))<>''begin set @a = '<request><company>aa</company><id>bb</id><pass>cc</pass><lang>SIM</lang>{@Str}</request>' select cast(replace(@a, '{@Str}', cast(@XmlOutput as nvarchar(max))) as xml)endelsebegin select ''end


相关阅读:
Top