我在 c# 中有一个控制台应用程序,可以从网站下载文件。我创建了一个变量Filecount
,用于计算在该实例中下载的文件数。
在 SSIS 中,我在执行过程任务配置中设置了 StandardOutputVariable,因为User::FileCount
它应该通过它已下载的文件数。
我想创建一个 SQL 任务,如果文件计数大于0
.
但是,当我尝试评估我的表达式时,它总是返回为真,但是,这不应该发生,因为没有通过任何计数,但这意味着它应该被评估为假。
有人可以解释我是否写错了表达式或错误地设置了变量?
int fileCount = 0;
using (var client = new HttpClient(handler))
{
client.DefaultRequestHeaders.Clear();
client.DefaultRequestHeaders.Add("Accept", "application/json;odata=verbose");
var response = await client.GetAsync(siteUrl + "/_api/Web/GetFolderByServerRelativeUrl('XXX')/Files");
response.EnsureSuccessStatusCode();
json = await response.Content.ReadAsStringAsync();
Root deserializedResults = JsonConvert.DeserializeObject<Root>(json);
foreach (Result result in deserializedResults.d.results)
{
if (result.TimeCreated > DateTime.Today.AddDays(-7))
{
DownloadFileViaRestAPI(siteUrl, credentials, "XXX", result.Name, "XXX");
fileCount++;
}
}
}
Console.Write(fileCount);
SSIS 执行进程任务;
StandardOutVariable = User::FileCount
SQL 任务表达式;
Property: Disable
Expression: Len(Trim(@[User::FileCount])) > 0 ? False : True