Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 使用SSIS 2012将具有固定宽度和三种不同行类型的平面文件作为xml数据类型加载到SQL Server中_Sql Server_Xml_Ssis_Sql Server 2012_Etl - Fatal编程技术网

Sql server 使用SSIS 2012将具有固定宽度和三种不同行类型的平面文件作为xml数据类型加载到SQL Server中

Sql server 使用SSIS 2012将具有固定宽度和三种不同行类型的平面文件作为xml数据类型加载到SQL Server中,sql-server,xml,ssis,sql-server-2012,etl,Sql Server,Xml,Ssis,Sql Server 2012,Etl,我不熟悉SQL Server和SSIS,有这种情况。我已经在TSQL中编写并使用了这些代码,并且一直在尝试找出是否可以在SSIS中执行这些操作,因为我希望使用它提供的一些错误处理功能。我目前正在SQL 2008中运行此功能,但我正在使用2012测试SSI。这是我的设想 固定宽度平面文件格式: 头代码文件类型日期 代码姓氏姓氏性别 拖车代码日期记录\u计数 平面文件内容: H0123ABC07222013 98765SMITH TOM M 94586JOHNSON BILL M

我不熟悉SQL Server和SSIS,有这种情况。我已经在TSQL中编写并使用了这些代码,并且一直在尝试找出是否可以在SSIS中执行这些操作,因为我希望使用它提供的一些错误处理功能。我目前正在SQL 2008中运行此功能,但我正在使用2012测试SSI。这是我的设想

固定宽度平面文件格式: 头代码文件类型日期 代码姓氏姓氏性别 拖车代码日期记录\u计数

平面文件内容:

H0123ABC07222013 98765SMITH TOM M 94586JOHNSON BILL M T0123072220132 在TSQL中,我的步骤是 大容量插入大临时表并作为一列加载 正在生成以下内容的查询字符串: 使用SUBSTRING FOR XML和where子句为头值选择值 , 使用用于XML的子字符串和用于详细信息值的where子句选择值 , 使用用于XML的子字符串和用于尾部值的where子句选择值

例如:

SELECT @sql1 = (SELECT ( SELECT SUBSTRING(temp,1,2) as Header, SUBSTRING(temp,3,3) as CODE , SUBSTRING(temp,6,3) as File_Type, SUBSTRING(temp,9,8) as Cycle_Date FROM TestLoad WHERE SUBSTRING(temp,1,2) = 'H0' FOR XML PATH('HEADER'), TYPE ), ... 该查询的结果将插入到XML数据类型列中

我在SSI中找到了如何执行此操作的信息,该SSI将数据写入一个结构与数据匹配的表中,但没有找到如何将数据转换为XML并保持文件的顺序不变。XML转换是我努力的方向


谢谢

我开始认为,要么我把这个问题标错了,要么将平面文件转换为xml不是SSIS的工作。我以一种迂回的方式实现了这一点,在SSIS中使用TSQL任务将数据转换为xml,然后插入它。然而,这并不是我真正的目标,我想用SSIS来实现它。我的解决方案可以做到这一点,但不允许良好的错误处理,例如,确保值符合XSD并相应地处理这些错误。如果SSIS不能做到这一点,有人能推荐另一种可以做到的工具吗?我现在正在采取步骤在MS之外进行XML转换。我正在考虑使用source forge的ServingXML项目。我将对所有转换进行编程,然后将生成的XML文件导入数据库。