SSIS 脚本任务中的字符数据中不允许使用“]]>”

本文关键字:数据 任务 脚本 字符 SSIS 不允许 | 更新日期: 2023-09-27 18:34:33

我有一个SSIS Script task,我在VS 2012 Integrated shell (SSDT-BI development)中使用,但我遇到了一个奇怪的错误。

基本上,当我关闭Script Task editor时,我的代码不断崩溃 VS。它提示我错误:

"失败保存包。字符数据中不允许使用>"。 (Microsoft.SqlServer.ManagedDTS(.

还给了我:

"无法显示此任务的编辑器。来自 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
    }

SSIS 脚本任务中的字符数据中不允许使用“]]>”

不能

使用]]><,因为脚本代码本身作为 XML 保存在包中。

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