XML路径SQL不是在SSIS工作2012

XML路径SQL不是在SSIS工作2012

问题描述:

fThe下面已经工作了多年的2008 SSIS包SQL:XML路径SQL不是在SSIS工作2012

SELECT 
BofAAcctNumber AS 'td' 
,'' 
,ReferenceNumber AS 'td' 
,'' 
,CheckNumber AS 'td' 
,'' 
,CheckAmount AS 'td' 
FROM dbo.bai2_CheckStatementError 
    WHERE BenefitID IS NULL 
FOR XML PATH('tr') 

在SSMS返回预期的效果如下

<tr><td>999999999</td><td>88888888888</td><td>123456</td><td>999.00</td></tr>

在2012年SSIS中使用执行SQL任务(单行写入字符串变量)它引发了一个DBNull错误:将值(DBNull)的类型分配给变量e“User :: strHTMLTable”与当前变量类型不同(字符串)

欢迎任何批评或评论,谢谢。

+0

这是在执行SQL任务?你如何赋值给变量? –

+0

是的。将设置为单行的SQL任务设置为字符串变量,谢谢 – BigV

+0

在“结果集”部分,“结果名称”字段中包含什么内容? –

指定“结果”中的“结果名称”字段中的“结果集”部分和使用:(你可以合适的话使用varchar

SELECT 
    CAST 
     (
      (
       SELECT 
        BofAAcctNumber AS 'td' 
        ,'' 
        ,ReferenceNumber AS 'td' 
        ,'' 
        ,CheckNumber AS 'td' 
        ,'' 
        ,CheckAmount AS 'td' 
       FROM dbo.bai2_CheckStatementError 
       WHERE BenefitID IS NULL 
       FOR XML PATH('tr') 
      ) 
     AS nvarchar) Result 

+0

谢谢你,克里斯。这工作。我非常感谢你的帮助。 – BigV

+0

没问题 - 如果工作正常,请将答案标记为正确。谢谢。 –