我正在尝试将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"在当前上下文中不存在
三个建议:
- 将
Now
替换为DateTime.Now
- 使用
ToString(<format>)
而不是Format()
- 使用
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;