在 SSIS 的脚本任务编辑器中获取错误



我正在尝试将SSIS包从2013升级到2017。但是,我收到以下代码行的错误。任何人都可以解决这个问题吗?

我是新手,所以我还没有尝试过任何东西。

using System;
namespace ST_3e6cc55d375c472785d01c446ea4bf8b
{
[Microsoft.SqlServer.Dts.Tasks.ScriptTask.SSISScriptTaskEntryPointAttribute]
public partial class ScriptMain : Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase
{
public object Now { get; private set; }
enum ScriptResults
{
Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success,
Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure
};

public void Main()
{
// TODO: Add your code here
Dts.Variables("FileNameCSV").Value = Format(Now, "yyyyMMddHHmmss") + "_MailPieces_" + LTrim(RTrim(Dts.Variables("FrequencyType").Value)) + ".csv";
Dts.Variables("FileNameZIP").Value = Format(Now, "yyyyMMddHHmmss") + "_MailPieces_" + LTrim(RTrim(Dts.Variables("FrequencyType").Value)) + ".zip";
Dts.TaskResult = (int)ScriptResults.Success;
}
}
}

我收到以下这些错误。请帮忙。

错误 CS1955 不可调用成员"脚本对象模型.变量"不能像方法一样使用。

错误 CS0103 名称"格式"在当前上下文中不存在

错误 CS0103 名称"LTrim"在当前上下文中不存在

错误 CS0103 名称"RTrim"在当前上下文中不存在

三个建议:

  1. Now替换为DateTime.Now
  2. 使用ToString(<format>)而不是Format()
  3. 使用Trim()而不是LTrim(RTrim())

尝试使用以下代码:

using System;
namespace ST_3e6cc55d375c472785d01c446ea4bf8b
{
[Microsoft.SqlServer.Dts.Tasks.ScriptTask.SSISScriptTaskEntryPointAttribute]
public partial class ScriptMain : Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase
{

enum ScriptResults
{
Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success,
Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure
};
public void Main()
{
// TODO: Add your code here
Dts.Variables("FileNameCSV").Value = DateTime.Now.ToString("yyyyMMddHHmmss") + "_MailPieces_" + Dts.Variables("FrequencyType").Value.ToString().Trim() + ".csv";
Dts.Variables("FileNameZIP").Value = DateTime.Now.ToString("yyyyMMddHHmmss") + "_MailPieces_" + Dts.Variables("FrequencyType").Value.ToString().Trim() + ".zip";
Dts.TaskResult = (int)ScriptResults.Success;
}
}
}

看起来您缺少对 DTS 运行时程序集的引用。尝试将其添加到您的using块中:

using Microsoft.SqlServer.Dts.Runtime; 

最新更新