如何获取变量';ssis中脚本任务的s值
我在SSIS中的一个脚本任务中有以下代码:如何获取变量';ssis中脚本任务的s值,ssis,script-task,Ssis,Script Task,我在SSIS中的一个脚本任务中有以下代码: public void Main() { string filename; filename = Dts.Variables["User::FileName"].Value.ToString(); string getEmployerId = filename.Split('_')[0]; int employerId = Int32.Parse(Reg
public void Main()
{
string filename;
filename = Dts.Variables["User::FileName"].Value.ToString();
string getEmployerId = filename.Split('_')[0];
int employerId = Int32.Parse(Regex.Match(getEmployerId,
@"\d+").Value);
int fail = 1;
我需要从此代码中获取employerId
值,并将其作为变量存储在SSIS包中
有人知道最好的方法是什么吗 据我所知,您正在从文件名中检索EmployerId,对吗?如果是,则不需要使用脚本任务。只需创建一个新变量并设置一个表达式来解析EmployerId。如果您可以提供文件名,我可以帮助您使用表达式 更新 基于可变字符长度以及无法更改文件名以包含另一个分隔符,您需要在脚本任务中使用regex来处理此问题。请参阅下面的Web链接: 在控制流中:
我有几个文件,例如“Dem323_04265.45.23.4”,Pay661_a454”,。在第一个示例中,employerId为323,在第二个示例中,employerId为661。employerId通常位于“\ux”之前。根据您提供的正则表达式,employerId始终是十进制的,对吗?最小值和最大值是多少?此外,EmployerId之前的数据的最小值和最大值是多少(例如,“DEM”、“PAY”)?EmployerId之前的数据的最小值可以是两个字母,最大值应该是五个字母,EmployerId不应该是小数。可变的字符长度将使表达式令人讨厌。在我们放弃表达式之前,你能在EmployerID之前的数据之间添加一个“u”吗?不,我在这个文件夹中有1000多个文件,我每天都会收到新文件,所以我不能更改所有文件的文件名。还有其他的可能性吗?我想做一个表达式,但它似乎太复杂了