我想我可能会因为我的sql技能而对这个问题有点过头了。我有一个几乎3GB大的xml文件。我需要一个进程来导入这些数据并将其插入表中。当我尝试使用SSIS xml源时,它抱怨XSD与多种数据类型复杂。然后我尝试使用XLST将xml转换为csv。
我有一个链接到我的skydrive下面我有XSD,因为我无法在这里上传文件。我正在寻找有关如何将这些数据导入sql的指导和建议。任何帮助表示赞赏。
https://skydrive.live.com/?cid=d75b2e7f757393ef&sc=documents&id=D75B2E7F757393EF%21286
答案 0 :(得分:1)
SSIS中的内置XML组件相对有限。对于更大,更复杂的XML源,您可以考虑在脚本任务中提取文件并使用C#
进行分解答案 1 :(得分:1)
您可以使用DataStreams和SqlBulkCopy批量插入任何大小的XML文件。
答案 2 :(得分:0)
在您的架构中,您是否有任何定义了 mixed =“true”的复杂类型? SSIS不支持这一点。您需要更改复杂类型的内容模型,以免混合,或使用XSLT预处理文档。
在投入预处理时间之前,尝试通过删除mixed =“true”来运行XSLT进行测试。