经过几个月的手动每周处理一些XML文件的工作之后,我想在Data Factory中使该过程自动化。这些文件是医学摘要/期刊以及任何关联的图像
当前过程分为两部分-将摘要的详细信息加载到详细信息类型表中,然后将具有关联的abstractid的图像加载到单独的表中
抽象细节可以在Data Factory中正常工作-我已经采用了原始流程:
DECLARE @hdoc int
EXEC sp_xml_preparedocument @hdoc OUTPUT, @x
SELECT *
INTO Abstracts
FROM OPENXML (@hdoc, '/Jrnl-OR-COnf/Abstract', 2)
WITH (
[AbstractID] [int],
[SourceID] [int],
[AbstractNum] [nvarchar](50),
[AbstractType] [varchar](50),
[Jrnl-OR-ConfID] [int],
[Source] [nvarchar](20),
[Jrnl-OR-ConfName] [nvarchar](500) ,
[TitleAbbreviation] [varchar](512),
[Location] [nvarchar](256),
[PubPresDate] [date],
[AddedDate] [date],
[ISSN] [nvarchar](25),
[AbstractTitle] [nvarchar](1024),
[AbstractText] [nvarchar](max),
[Authors] [nvarchar](max),
[Affiliations] [nvarchar](max),
[URL] [nvarchar](300)
)
并将其添加到“复制”活动
但是-图像的第二个处理过程未正确处理,因为ADF似乎没有为每个图像正确地迭代属性数组,有些修改后,我尝试使用“ / off并没有得到所需的结果
这是它在SQL中正常工作的方式
SELECT *
INTO AbstractImages
FROM OPENXML (@hdoc, '/Jrnl-OR-COnf/Abstract/Images/Image', 2)
WITH (
[AbstractID] [int] '../../AbstractID', --Element
[ImageData] [varbinary](max), --Element
[imgID] [smallint] '@imgID' --Attribute
)
EXEC sp_xml_removedocument @hdoc
我在ADF中的尝试:
因此,我不太确定如何确保ADF迭代每个抽象ID链接到更高级别对象的图像属性数组。
很可能只是我的实现未遵循'../../AbstractID'的正确等效项
最后我只有AbstractId元素,没有ImgData或imgID