繁体   English   中英

SSIS包XML源

[英]SSIS package XML source

我在SSIS(只是FTR)上还很陌生。

我必须使用SSIS包将XML数据从DB2数据库导入SQL Server。 XML位于CLOB / BLOB中(取决于表),据我所知,Microsoft DB2驱动程序不支持XML,因此我建立了Java桥,该桥从客户端获取ID并返回XML。 通过Visual Basic客户端(预编译并)在SSIS中作为脚本任务执行来访问该桥。 目前,性能并不是很重要(它是7XMLs / sec)。 从网桥返回的XML存储在变量中,并且由于网桥接受一个I​​D /请求,因此请求场景位于Foreach循环容器中,该容器循环遍历从SQL任务接收到的ID。

在foreach循环中,有一个Visual Basic客户端存储XML,一个从XML导入数据并存储在FlatFile目标中的数据流,以及另一个Visual Basic任务,该任务在MsgBox()中显示XML。

数据流还具有三个元素:XML源,派生列,平面文件目标。 XML源从具有修订XML架构(XSD)的变量中获取XML数据,然后发送已解析的数据。 “派生”列将ID作为新列添加到XML数据,并且FlatFile目标应保存它(如前所述,仅用于测试目的)。

当我启动此程序包时,一切顺利。 在Java桥中,我看到了通信和XML回传,数据流也返回了无错误,但是它引发了一些警告,并且没有行写到文件中。 第二个VB脚本正确显示了XML。

该警告带有关于XML文件未处理输出的数字0x80047076(因为我仅打算存储其中的一部分)。

有什么主意,为什么没有将任何数据写入文件输出?

SQL Server 2005 SP1 Java SE 1.6(我认为是u26)DB2 v.9

该警告如下所示:

警告:从XML,DTS导入时为0x80047076。管道:输出“和”(36)和组件“ XML源”(1)上的输出列“文本”(965)随后未在数据流任务中使用。 删除此未使用的输出列可以提高数据流任务的性能。

我试图将“硬编码” XML文件添加到变量中。 我还使用XML Spy根据XML的XSD检查了XML。 XML有效,但是没有数据写入平面文件。

当我尝试调试并将变量添加到监视中时,我对XML进行了略微修改:“-s被反斜杠,并且在标准XML标头之后,新的换行符也被打印为标准换行符:\\ n。 :

<?xml版本= \\“ 1.0 \\”编码= \\“ UTF-8 \\”?> \\ n <扩展属性> <客户值> A </客户值> ...

但是,在MsgBox中显示XML时,XML正常打印(\\ n为换行符,\\“为”),所以我的猜测是,这只是未经处理的,直接从C / C ++ / C#字符串表示形式打印。

您是否曾试图在将数据传递到平面文件目标位置之前对其进行可视化处理?

根据您的描述,听起来好像数据没有到达。

要将数据查看器添加到它,请按照此链接中的步骤操作: http : //msdn.microsoft.com/en-us/library/ms140318.aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM