C# ';]]&燃气轮机';ssis脚本任务中的字符数据中不允许
我有一个C# ';]]&燃气轮机';ssis脚本任务中的字符数据中不允许,c#,sql-server,visual-studio,ssis,C#,Sql Server,Visual Studio,Ssis,我有一个SSIS脚本任务,我正在VS 2012集成shell(SSDT-BI开发)中使用它,我遇到了一个奇怪的错误 基本上,当我关闭脚本任务编辑器时,我的代码不断崩溃。它提示我错误: 保存程序包失败。字符数据中不允许使用“]]>”。 (Microsoft.SqlServer.ManagedDTS) 这也给了我: “无法显示此任务的编辑器。HRESULT的例外情况: 0x80131940(Microsoft.SqlServerDTSRuntimeWrap)。” 然后VS将崩溃并自行重新启动 因此,
SSIS脚本任务
,我正在VS 2012集成shell(SSDT-BI开发)
中使用它,我遇到了一个奇怪的错误
基本上,当我关闭脚本任务编辑器时,我的代码不断崩溃。它提示我错误:
保存程序包失败。字符数据中不允许使用“]]>”。
(Microsoft.SqlServer.ManagedDTS)
这也给了我:
“无法显示此任务的编辑器。HRESULT的例外情况:
0x80131940(Microsoft.SqlServerDTSRuntimeWrap)。”
然后VS将崩溃并自行重新启动
因此,从错误判断,它似乎没有将我正在传递的字符串
链接到一个变量中,我可以使用下面的代码验证这个变量(它触发了完全相同的错误)
我在这里遗漏了什么…这是一个bug吗?我肯定我只是明显遗漏了一份白皮书或关于这个主题的东西,但为什么下面的代码不能在SSIS脚本任务中工作呢?我知道这对于C#console应用程序来说是可行的
[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
}
[Microsoft.SqlServer.Dts.Tasks.ScriptTask.SSISScriptTaskEntryPointAttribute]
公共部分类ScriptMain:Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase
{
公共图书馆
{
//TODO:在此处添加代码
字符串hi=“”;
Dts.TaskResult=(int)ScriptResults.Success;
}
#区域脚本结果声明
枚举脚本结果
{
Success=Microsoft.SqlServer.Dts.Runtime.dtsesecresult.Success,
Failure=Microsoft.SqlServer.Dts.Runtime.dtsesecresult.Failure
};
#端区
}
您不能使用]>
或
string hi = (char)60+"![CDATA[" + "]]"+ (char)62;