1,Azure 访问地址
1,国际版
https://portal.azure.com/#home
https://portal.azure.com/#home2,世纪互联中国版
Microsoft Azure 由世纪互联运营
https://portal.azure.cn/2,创建资源组并且所有的后续组件都是再此资源下面创建。


3,创建Data Factory 工具

4,核心组件
- 管道(Pipeline)
-
功能:逻辑工作流容器
-
特点:
-
由多个活动组成
-
支持参数化
-
可调度执行
-
-
典型使用:定义完整的数据处理流程
- 活动(Activity)
-
功能:管道中的单个处理步骤
-
类型:
-
数据移动(如Copy)
-
数据转换(如Data Flow)
-
控制流(如If Condition)
-
-
示例:从Blob复制数据到SQL DB
- 数据集(Dataset)
-
功能:输入/输出数据的结构定义
-
特点:
-
指向具体数据存储
-
定义数据格式
-
支持分区定义
-
-
示例:定义Azure SQL表的结构
- 链接服务(Linked Service)
-
功能:连接外部资源的定义
-
特点:
-
包含连接信息
-
支持多种认证方式
-
可重用
-
-
示例:连接到Azure SQL Database的服务
- 集成运行时(Integration Runtime)
-
功能:执行环境基础设施
-
类型:
-
Azure IR(完全托管)
-
自托管IR(本地/混合云)
-
Azure-SSIS IR(运行SSIS包)
-
-
选择依据:网络环境与性能需求
- 触发器(Trigger)
-
功能:管道执行调度机制
-
类型:
-
计划触发器(定时)
-
事件触发器(如Blob上传)
-
手动触发器
-
-
示例:每天凌晨1点触发数据加载
5,抽取Demo
1)创建元数据表以及需要抽取的2个表。
CREATE TABLE META.META_SOURCE_OBJECTS
(
SYSTEM_NAME nvarchar(100) NULL,--source_system_name 指定系统EBS系统
DATABASE_NAME nvarchar(100) NULL,--source_DB_NAME 指定数据库APPS DB
SCHEMA_NAME nvarchar(100) NULL,--Synapse-schema_name 指定架构ODS
OBJECT_NAME nvarchar(255) NULL,--Synapse-Object_name 指定表名Customer
INGEST_PATTERN nvarchar(50) NULL,--Full,Increment,Special 指定抽取模式 increment
TRIGGER_TIME nvarchar(100) NULL,--0100 start-time at 01:00 AM 指定抽取开始时间
ACTIVITY_CONFIG nvarchar(4000) NULL,--{"field_name":"CREATED_DATE_TIME"} 指定增量字段
ENABLED bit NOT NULL,-- enabled_status Y是启动,N是不启动
USER_DEFINE_CONFIG nvarchar(4000) NULL,--{"target_name":"EKKO"}--用户自定义例如表,或者需要指定抽取的时间 getdate()-30
CREATE_TIME datetime NULL --指定创建时间
)
DECLARE @DynamicQuery NVARCHAR(MAX);
SELECT @DynamicQuery = STRING_AGG(
CONCAT('SELECT ',
'''', SYSTEM_NAME, ''' AS SYSTEM_NAME, ',
'''', DATABASE_NAME, ''' AS DATABASE_NAME, ',
'''', SCHEMA_NAME, ''' AS SCHEMA_NAME, ',
'''', OBJECT_NAME, ''' AS OBJECT_NAME, ',
'''', INGEST_PATTERN, ''' AS INGEST_PATTERN, ',
'''', TRIGGER_TIME, ''' AS TRIGGER_TIME, ',
'''', ACTIVITY_CONFIG, ''' AS ACTIVITY_CONFIG, ',
'''', ENABLED, ''' AS ENABLED, ',
'''', USER_DEFINE_CONFIG , ''' AS USER_DEFINE_CONFIG ,',
'''', CREATE_TIME , ''' AS CREATE_TIME ,',
'''', JSON_VALUE(ACTIVITY_CONFIG, '$.field_name') ,''' AS field_name,',
'', USER_DEFINE_CONFIG , ' AS Filter_Date '
),
' UNION ALL '
) FROM META.META_SOURCE_OBJECTS where object_name ='GLD_BILLING_BUNDLE_TRIPS'
system_name='EBS' and ENABLED=1;
-- 添加调试输出
PRINT @DynamicQuery;
EXEC sp_executesql @DynamicQuery;
--其中 json_value function直接可以使用, 参数user_define_config 是动态参数
1,新增lookup组件
2,新增 forEach组件获取上一步lookup中查询的表数据 @activity('table_lists').output.value

3,新增Switch 组件判断抽取模式@item().INGEST_PATTERN

4,根据不用条件执行对应的抽取 如下是Full 模式源数据 查询语句@concat('SELECT * FROM ', item().SCHEMA_NAME ,'.',item().OBJECT_NAME)

目标执行语句@{concat('truncate table ', 'STG_GOLD.', item().OBJECT_NAME)}

Mapping 不需要设置,但是Setting需要有个存储账号来存储信息

5,对于stateful 源数据
@concat('SELECT * FROM ',
item().SCHEMA_NAME, '.',
item().OBJECT_NAME,
' WHERE ',
item().field_name,
' >= to_date(''',
item().LAST3MONTH_DAY,
''',''yyyy-MM-dd'')')

对于目标
@concat('DELETE FROM STG_GOLD.',
item().OBJECT_NAME,
' WHERE ',
item().field_name,
' >= CONVERT(DATE, ''',
item().LAST3MONTH_DAY,
''') ' )

setting 设置

对于抽取Ihistorian 数据
DECLARE @errorMessage nvarchar(4000)
DECLARE @TestVar NVARCHAR(MAX)
DECLARE @Interval nvarchar(max) ='60'
DECLARE @TestServer NVARCHAR(MAX) = 'PA4'
DECLARE @FullTag NVARCHAR(MAX) = @TestServer + '/' + @TestVar
DECLARE @StartTime DATE = FORMAT(DATEADD(DAY,-1,DATEADD(HOUR, 8, GETUTCDATE())),'yyyy-MM-dd')
DECLARE @EndTime DATE = FORMAT(DATEADD(DAY,-0,DATEADD(HOUR, 8, GETUTCDATE())),'yyyy-MM-dd')
DECLARE @TMP_TABLE TABLE ( [TAGNAME] [varchar](200) NULL,[TIME_STAMP] [datetime] NULL,[VALUE] [varchar](50) NULL,[QUALITY] [varchar](50) NULL )
DECLARE @TAG_TABLE TABLE (TAG NVARCHAR(MAX))
DECLARE C_DATE CURSOR FOR
SELECT CONVERT(NVARCHAR(10),DATEADD(DAY,number-1,@StartTime),120) AS StartTime,
CONVERT(NVARCHAR(10),DATEADD(DAY,number+1,@StartTime),120) AS EndTime ,
T.TAG AS TestVar
FROM master..spt_values
CROSS JOIN @TAG_TABLE T
WHERE type = 'p' AND number <= DATEDIFF(DAY,@StartTime,@EndTime)
INSERT INTO @TAG_TABLE
select 'PA4/Beijing_PBSG.Beijing_PBSG.ASU.Common.LAR.LAR.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Beijing_PBSG.Beijing_PBSG.ASU.Common.LIN.LIN.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Beijing_PBSG.Beijing_PBSG.ASU.Common.LOX.LOX.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Changzhou_CND.Changzhou_CND.ASU.Common.LAR.LAR.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Changzhou_CND.Changzhou_CND.ASU.Common.LIN.LIN.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Changzhou_CND.Changzhou_CND.ASU.Common.LOX.LOX.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Chongqing_LSG.Chongqing_LSG.ASU.Common.LAR.LAR.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Chongqing_LSG.Chongqing_LSG.ASU.Common.LIN.LIN.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Chongqing_LSG.Chongqing_LSG.ASU.Common.LOX.LOX.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Guangzhou_PGIG.Guangzhou_PGIG.ASU.Common.LAR.LAR.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Guangzhou_PGIG.Guangzhou_PGIG.ASU.Common.LIN.LIN.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Guangzhou_PGIG.Guangzhou_PGIG.ASU.Common.LOX.LOX.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Hefei_PHFIG.Hefei_PHFIG.ASU.Common.LAR.LAR.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Hefei_PHFIG.Hefei_PHFIG.ASU.Common.LIN.LIN.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Hefei_PHFIG.Hefei_PHFIG.ASU.Common.LOX.LOX.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Huizhou_PHIG1.Huizhou_PHIG1.ASU.Common.LAR.LAR.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Huizhou_PHIG1.Huizhou_PHIG1.ASU.Common.LIN.LIN.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Huizhou_PHIG1.Huizhou_PHIG1.ASU.Common.LOX.LOX.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Huizhou_PHIG2.Huizhou_PHIG2.ASU.Common.LAR.LAR.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Huizhou_PHIG2.Huizhou_PHIG2.ASU.Common.LIN.LIN.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Huizhou_PHIG2.Huizhou_PHIG2.ASU.Common.LOX.LOX.Storage.Content.Actual.Now.Hour' union all
select 'PA4/JiaXing_PJIG.JiaXing_PJIG.ASU.Common.LAR.LAR.Storage.Content.Actual.Now.Hour' union all
select 'PA4/JiaXing_PJIG.JiaXing_PJIG.ASU.Common.LIN.LIN.Storage.Content.Actual.Now.Hour' union all
select 'PA4/JiaXing_PJIG.JiaXing_PJIG.ASU.Common.LOX.LOX.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Jining_PJNIG.Jining_PJNIG.ASU.Common.LAR.LAR.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Jining_PJNIG.Jining_PJNIG.ASU.Common.LIN.LIN.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Jining_PJNIG.Jining_PJNIG.ASU.Common.LOX.LOX.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Jiujiang_Bluestar.Jiujiang_Bluestar.ASU.Common.LIN.LIN.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Langfang_LGL.Langfang_LGL.ASU.Common.LAR.LAR.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Langfang_LGL.Langfang_LGL.ASU.Common.LIN.LIN.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Langfang_LGL.Langfang_LGL.ASU.Common.LOX.LOX.Storage.Content.Actual.Now.Hour' union all
select 'PA4/LuAn_Julan.LuAn_Julan.ECOVAR.Common.LIN.LIN.Storage.Content.Actual.Now.Hour' union all
select 'PA4/LuAn_Julan.LuAn_Julan.ASU.Common.LAR.LAR.Storage.Content.Actual.Now.Hour' union all
select 'PA4/LuAn_Julan.LuAn_Julan.ASU.Common.LIN.LIN.Storage.Content.Actual.Now.Hour' union all
select 'PA4/LuAn_Julan.LuAn_Julan.ASU.Common.LOX.LOX.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Maanshan_BMG.Maanshan_BMG.ASU.Common.LAR.LAR.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Maanshan_BMG.Maanshan_BMG.ASU.Common.LIN.LIN.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Maanshan_BMG.Maanshan_BMG.ASU.Common.LOX.LOX.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Meishan_PSMI.Meishan_PSMI.ASU.Common.LAR.LAR.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Meishan_PSMI.Meishan_PSMI.ASU.Common.LIN.LIN.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Meishan_PSMI.Meishan_PSMI.ASU.Common.LOX.LOX.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Nanjing_BYG.Nanjing_BYG.ASU.Common.LAR.LAR.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Nanjing_BYG.Nanjing_BYG.ASU.Common.LIN.LIN.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Nanjing_BYG.Nanjing_BYG.ASU.Common.LOX.LOX.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Nanjing_LNCIP.Nanjing_LNCIP.ASU.Common.LAR.LAR.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Nanjing_LNCIP.Nanjing_LNCIP.ASU.Common.LIN.LIN.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Nanjing_LNCIP.Nanjing_LNCIP.ASU.Common.LOX.LOX.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Nanjing_NPNIG.Nanjing_NPNIG.ASU.Common.LAR.LAR.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Nanjing_NPNIG.Nanjing_NPNIG.ASU.Common.LIN.LIN.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Nanjing_NPNIG.Nanjing_NPNIG.ASU.Common.LOX.LOX.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Ningbo_LGN1.Ningbo_LGN1.ASU.Common.LAR.LAR.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Ningbo_LGN1.Ningbo_LGN1.ASU.Common.LIN.LIN.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Ningbo_LGN1.Ningbo_LGN1.ASU.Common.LOX.LOX.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Ningbo_LGN4.Ningbo_LGN4.ASU.Common.LAR.LAR.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Ningbo_LGN4.Ningbo_LGN4.ASU.Common.LIN.LIN.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Ningbo_LGN4.Ningbo_LGN4.ASU.Common.LOX.LOX.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Ningbo_LZG.Ningbo_LZG.ASU.Common.LAR.LAR.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Ningbo_LZG.Ningbo_LZG.ASU.Common.LIN.LIN.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Ningbo_LZG.Ningbo_LZG.ASU.Common.LOX.LOX.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Qingdao_PQIG.Qingdao_PQIG.ASU.Common.LIN.LIN.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Qingdao_PQIG.Qingdao_PQIG.ASU.Common.LOX.LOX.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Qinzhou_PGXG.Qinzhou_PGXG.ASU.Common.LAR.LAR.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Qinzhou_PGXG.Qinzhou_PGXG.ASU.Common.LIN.LIN.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Qinzhou_PGXG.Qinzhou_PGXG.ASU.Common.LOX.LOX.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Quanzhou_LFG.Quanzhou_LFG.ASU.Common.LAR.LAR.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Quanzhou_LFG.Quanzhou_LFG.ASU.Common.LIN.LIN.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Quanzhou_LFG.Quanzhou_LFG.ASU.Common.LOX.LOX.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Quanzhou_LFG2.Quanzhou_LFG2.ASU.Common.LAR.LAR.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Quanzhou_LFG2.Quanzhou_LFG2.ASU.Common.LIN.LIN.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Quanzhou_LFG2.Quanzhou_LFG2.ASU.Common.LOX.LOX.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Quanzhou_LQG.Quanzhou_LQG.ASU.Common.LAR.LAR.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Quanzhou_LQG.Quanzhou_LQG.ASU.Common.LIN.LIN.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Quanzhou_LQG.Quanzhou_LQG.ASU.Common.LOX.LOX.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Shanghai_BSG.Shanghai_BSG.ASU.Common.LAR.LAR.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Shanghai_BSG.Shanghai_BSG.ASU.Common.LIN.LIN.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Shanghai_BSG.Shanghai_BSG.ASU.Common.LOX.LOX.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Shanghai_PSS.Shanghai_PSS.ASU.Common.LAR.LAR.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Shanghai_PSS.Shanghai_PSS.ASU.Common.LIN.LIN.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Shanghai_PSS.Shanghai_PSS.ASU.Common.LOX.LOX.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Shanghai_SPBI.Shanghai_SPBI.ASU.Common.LIN.LIN.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Shanghai_SPBI.Shanghai_SPBI.ASU.Common.LOX.LOX.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Shaoguan_PSG.Shaoguan_PSG.ASU.Common.LAR.LAR.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Shaoguan_PSG.Shaoguan_PSG.ASU.Common.LIN.LIN.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Shaoguan_PSG.Shaoguan_PSG.ASU.Common.LOX.LOX.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Suzhou_SIPIII.Suzhou_SIPIII.ASU.Common.LAR.LAR.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Suzhou_SIPIII.Suzhou_SIPIII.ASU.Common.LIN.LIN.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Suzhou_SIPIII.Suzhou_SIPIII.ASU.Common.LOX.LOX.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Taixing_Jinyan.Taixing_Jinyan.ASU.Common.LAR.LAR.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Taixing_Jinyan.Taixing_Jinyan.ASU.Common.LIN.LIN.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Taixing_Jinyan.Taixing_Jinyan.ASU.Common.LOX.LOX.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Wuwei_PAIG.Wuwei_PAIG.ASU.Common.LAR.LAR.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Wuwei_PAIG.Wuwei_PAIG.ASU.Common.LIN.LIN.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Wuwei_PAIG.Wuwei_PAIG.ASU.Common.LOX.LOX.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Xiamen_Haicang.Xiamen_Haicang.ASU.Common.LAR.LAR.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Xiamen_Haicang.Xiamen_Haicang.ASU.Common.LIN.LIN.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Xiamen_Haicang.Xiamen_Haicang.ASU.Common.LOX.LOX.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Xiamen_Jimei.Xiamen_Jimei.ASU.Common.LIN.LIN.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Xiamen_Jimei.Xiamen_Jimei.ASU.Common.LOX.LOX.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Yangzhou_PYIG.Yangzhou_PYIG.ASU.Common.LAR.LAR.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Yangzhou_PYIG.Yangzhou_PYIG.ASU.Common.LIN.LIN.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Yangzhou_PYIG.Yangzhou_PYIG.ASU.Common.LOX.LOX.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Yantai_LGY.Yantai_LGY.ASU.Common.LAR.LAR.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Yantai_LGY.Yantai_LGY.ASU.Common.LIN.LIN.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Yantai_LGY.Yantai_LGY.ASU.Common.LOX.LOX.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Zhangzhou_LZG.Zhangzhou_LZG.ASU.Common.LAR.LAR.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Zhangzhou_LZG.Zhangzhou_LZG.ASU.Common.LIN.LIN.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Zhangzhou_LZG.Zhangzhou_LZG.ASU.Common.LOX.LOX.Storage.Content.Actual.Now.Hour' union all
select 'PA4/ZhenJiang_PZIG.ZhenJiang_PZIG.ASU.Common.LAR.LAR.Storage.Content.Actual.Now.Hour' union all
select 'PA4/ZhenJiang_PZIG.ZhenJiang_PZIG.ASU.Common.LIN.LIN.Storage.Content.Actual.Now.Hour' union all
select 'PA4/ZhenJiang_PZIG.ZhenJiang_PZIG.ASU.Common.LOX.LOX.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Zibo_BQG.Zibo_BQG.ASU.Common.LAR.LAR.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Zibo_BQG.Zibo_BQG.ASU.Common.LIN.LIN.Storage.Content.Actual.Now.Hour' union all
select 'PA4/Zibo_BQG.Zibo_BQG.ASU.Common.LOX.LOX.Storage.Content.Actual.Now.Hour'
OPEN C_DATE
FETCH NEXT FROM C_DATE INTO @StartTime,@EndTime,@TestVar
WHILE (@@FETCH_STATUS = 0)
BEGIN
INSERT INTO @TMP_TABLE
EXEC [dbo].[api_gs_avgarray]
@TagName = @TestVar,
@Server = @TestServer,
@StartDate = @StartTime,
@EndDate = @EndTime,
@Interval = @Interval,
@errorMessage = @errorMessage
FETCH NEXT FROM C_DATE INTO @StartTime,@EndTime,@TestVar
END
CLOSE C_DATE
DEALLOCATE C_DATE
SELECT TAGNAME,dateadd(hour,8,TIME_STAMP) as TIME_STAMP,VALUE ,QUALITY FROM @TMP_TABLE where
dateadd(hour,8,TIME_STAMP) >= dateadd(day,-1,cast( dateadd(hour,8,getdate()) as date))
order by TIME_STAMP asc
对于调用excel 子文件
6,监控