Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.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 2008 验证ssis中的xml-内存问题_Sql Server 2008_Ssis - Fatal编程技术网

Sql server 2008 验证ssis中的xml-内存问题

Sql server 2008 验证ssis中的xml-内存问题,sql-server-2008,ssis,Sql Server 2008,Ssis,我正在用SSIS包中的xsd验证xml。我有一个1GB的文件,同时验证内存消耗是否达到3.5GB。我们是否可以在SSI中使用xsd验证xml,并且内存更少(使用c#验证或其他方法) SSIS将整个文件加载到内存中,因此文件上的内存消耗是不可避免的。您可以创建重新创建XSD的XML架构集合,将其分配给表中的XML列,然后尝试将文件加载到表中: 使用XSD的格式创建XML架构集合 使用指定架构的XML列创建表 尝试使用SSI将XML文件加载到表中 您可以在此处看到如何创建架构集合和创建表的示例: 谢

我正在用SSIS包中的xsd验证xml。我有一个1GB的文件,同时验证内存消耗是否达到3.5GB。我们是否可以在SSI中使用xsd验证xml,并且内存更少(使用c#验证或其他方法)

SSIS将整个文件加载到内存中,因此文件上的内存消耗是不可避免的。您可以创建重新创建XSD的XML架构集合,将其分配给表中的XML列,然后尝试将文件加载到表中:

  • 使用XSD的格式创建XML架构集合
  • 使用指定架构的XML列创建表
  • 尝试使用SSI将XML文件加载到表中
  • 您可以在此处看到如何创建架构集合和创建表的示例:


    谢谢你的回答,Wil,张贴了我所做的步骤,相信这会对某人有所帮助

  • 创建一个脚本任务,在那里进行验证(使用xmlreader设置)
  • 如果验证失败,则脚本任务失败
  • 如果任务通过,则在数据流中执行xml源任务并将其存储

  • 如果xsd随时间变化,我们需要一次又一次地重新创建表,不是吗。您可以告诉我,这种方法是否节省内存。您不需要一次又一次地创建表,XML列只是尝试包含由模式验证的XML。如果XSD正在更改,则需要重新创建XML模式集合,但这是不可避免的。这种方法比使用SSI更节省内存,因为整个文件不会加载到内存中,而是批量加载到表中。否则,您唯一的选择就是某种C#xsd验证函数。