2016-02-12 67 views
2

內我有一個SSIS Script task,我使用VS 2012 Integrated shell (SSDT-BI development)和我遇到了一個奇怪的錯誤。「]]>」沒有在字符數據允許SSIS腳本任務

基本上,我的代碼保持VS崩潰時,我關閉了Script Task editor。這促使我與錯誤:

"Failure saving package. ']]>' is not allowed in character data. (Microsoft.SqlServer.ManagedDTS).

同樣是給了我:

"Cannot show the editor for this task. Exception from HRESULT: 0x80131940 (Microsoft.SqlServerDTSRuntimeWrap)."

然後VS就會死機和重新啓動。

因此,根據錯誤判斷,它似乎沒有鏈接我正在傳遞到一個變量,我可以驗證使用下面的代碼(這會觸發完全相同的錯誤)的string

缺少什麼我在這裏...這是一個錯誤?我相信我只是缺少公然對這個問題的白皮書或東西,但爲什麼不能在SSIS腳本任務下面的代碼工作?我知道它將用於C#控制檯應用程序。

[Microsoft.SqlServer.Dts.Tasks.ScriptTask.SSISScriptTaskEntryPointAttribute] 
    public partial class ScriptMain : Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase 
    { 
     public void Main() 
     { 
      // TODO: Add your code here 
      string hi = "<![CDATA[" + "]]>"; 

      Dts.TaskResult = (int)ScriptResults.Success; 
     } 

     #region ScriptResults declaration 
     enum ScriptResults 
     { 
      Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success, 
      Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure 
     }; 
     #endregion 
    } 

回答

1

不能使用]]><作爲腳本代碼本身保存爲你的包中的XML。

string hi = (char)60+"![CDATA[" + "]]"+ (char)62;