2017-08-04 35 views
0

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

在「結果集」部分,「結果名稱」字段中包含什麼內容? –

回答

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

沒問題 - 如果工作正常,請將答案標記爲正確。謝謝。 –