Sql server 通过XML任务vis SSIS转换数据
我使用了简单的web服务来添加数字,并以变量形式返回结果,其格式如下Sql server 通过XML任务vis SSIS转换数据,sql-server,xml,web-services,ssis,xmltask,Sql Server,Xml,Web Services,Ssis,Xmltask,我使用了简单的web服务来添加数字,并以变量形式返回结果,其格式如下 <?xml version="1.0" encoding="utf-16"?> <int>35</int> 35 所以,当我试图通过执行SQL任务将这个35插入数据库时,上面给出的所有xml内容都被插入到数据库中,所以我在web服务任务和执行SQL任务之间使用了xml Tsk,它的屏幕截图如下所示 仍然无法获取节点值35以将其插入数据库。您可以使用执行SQL任务,并在任务中使用与此类
<?xml version="1.0" encoding="utf-16"?>
<int>35</int>
35
所以,当我试图通过执行SQL任务将这个35插入数据库时,上面给出的所有xml内容都被插入到数据库中,所以我在web服务任务和执行SQL任务之间使用了xml Tsk,它的屏幕截图如下所示
仍然无法获取节点值35以将其插入数据库。您可以使用执行SQL任务,并在任务中使用与此类似的代码:
DECLARE @xml xml
SET @xml = '<?xml version="1.0"?>
<int>35</int>'
SELECT @xml.value('int[1]','int')
DECLARE@xml
SET@xml=
35'
选择@xml.value('int[1],'int'))
当然,您需要修改该查询以将@xml
变量插入并修改为源变量。我只是想给你指出正确的方向
RajReshma关于同一个话题,你还有四个问题要问,而且非常令人困惑。在完全解决问题之前,请不要再问任何问题。在您的案例中,您可以使用与我在中描述的完全相同的方法 要生成Raj建议的字符串,请在执行SQL任务中运行该字符串并捕获结果 另一个简单的解决方案是使用字符串表达式从XML中提取数字。但这不是“适当的”XML分解
您能否澄清一下,这背后是否有业务需求,或者您只是在学习XML?SSIS不是分解和处理XML的最佳工具。必须将“SecondOperator”值更改为//int
如果要保存结果,请配置“OperationResult”属性。尝试使用XML源?@Raj…我已通过在控制流中执行web服务任务和SQL任务来执行整个问题,我不想执行任何数据流组件,通过执行SQL任务组件本身,我能够以适当的格式将数据插入数据库,因此,如果我使用XML源,那么我将不得不在数据流中工作..不是吗…?…实际上,我不想这样做,在XML任务本身中没有任何其他方法可以工作..在这种情况下,为什么不在执行SQL任务中使用XQuery并分解XML?@Raj。。对不起,我是SSIS新手,所以无法正确理解您所解释的内容,如果在执行SQL任务中使用xquery,我在执行SQL任务中找不到任何这样的选项,您的意思是说XML任务,还是撕碎XML,我找到了一些帮助链接,例如[这再次显示了如何使用我不想使用的数据流。您不使用数据流的原因是什么?@Raj..因此,您建议我在执行sql任务时,在我编写插入查询以将数据插入数据库的过程中,必须由您上面给出的类似操作操作。…您能检查此链接吗[并建议我有可能做任何我想做的事吗?