SSIS脚本任务C#只能使用赋值和新对象表达式错误
我在SSIS中使用C#脚本任务来检查文件的文件大小,并与名为SSIS脚本任务C#只能使用赋值和新对象表达式错误,c#,sql-server,ssis,C#,Sql Server,Ssis,我在SSIS中使用C#脚本任务来检查文件的文件大小,并与名为FileFoundSize的变量进行比较。这是我的代码: public void Main() { string fullPath = Path.Combine(Dts.Variables["$Project::ValidationImport"].Value.ToString(), Dts.Variables["User::zipFileName"].Value.
FileFoundSize
的变量进行比较。这是我的代码:
public void Main()
{
string fullPath = Path.Combine(Dts.Variables["$Project::ValidationImport"].Value.ToString(), Dts.Variables["User::zipFileName"].Value.ToString());
var fileInfo = new FileInfo(fullPath);
if (fileInfo.Exists)
{
fileInfo.Length > Dts.Variables["User::FileFoundSize"];
Dts.TaskResult = (int)ScriptResults.Success;
}
else
{
// file could not be found
Dts.TaskResult = (int)ScriptResults.Failure;
}
}
但是,编辑器会一直高亮显示这一行:
fileInfo.Length > Dts.Variables["User::FileFoundSize"];
并指出这一错误:
我遗漏了什么?请尝试下面的代码,您遗漏了变量的Value属性
if (fileInfo.Exists)
{
if(fileInfo.Length > Convert.ToInt32(Dts.Variables["User::FileFoundSize"].Value.ToString()))
Dts.TaskResult = (int)ScriptResults.Success;
else
Dts.TaskResult = (int)ScriptResults.Failure;
}
else
{
Dts.TaskResult = (int)ScriptResults.Failure;
}
您正在像方法一样调用属性:
fileInfo.Exists()
应该是fileInfo.Exists
(不带()
)。然后我收到错误:运算符>不能应用于long和objectcheck类型的操作数,现在附加到变量声明选项卡中的字符串(),我希望您将FileFoundSize变量声明为Int或stringFileFoundSize变量现在为INTcheck,使用Convert.ToInt32转换为变量的intger值