如何从ssis中的脚本任务获取变量的值
how to get a variable's value from Script Task in ssis
我在 SSIS 中的一个脚本任务中有以下代码:
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。如果你能提供文件名,我可以帮助表达。
更新
基于可变字符长度和无法更改文件名以包含另一个分隔符,您将需要使用正则表达式在脚本任务中处理此问题。请参阅以下网页链接:
控制流程中:
- 创建一个由 for each 循环枚举器设置的字符串类型的文件名变量
- 创建一个 int32 类型的 EmployerID 变量
在脚本任务中:
- Select文件名为只读,EmployerID为读写
- 获取文件名值
- 使用正则表达式获取 EmployeID
- 设置 EmployerID 变量
我在 SSIS 中的一个脚本任务中有以下代码:
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。如果你能提供文件名,我可以帮助表达。
更新
基于可变字符长度和无法更改文件名以包含另一个分隔符,您将需要使用正则表达式在脚本任务中处理此问题。请参阅以下网页链接:
控制流程中:
- 创建一个由 for each 循环枚举器设置的字符串类型的文件名变量
- 创建一个 int32 类型的 EmployerID 变量
在脚本任务中:
- Select文件名为只读,EmployerID为读写
- 获取文件名值
- 使用正则表达式获取 EmployeID
- 设置 EmployerID 变量