我在一个文件夹中有以下命名约定的文件
ClientID_ClientName_Date_Fileextension
- 12345_Dell_20110103.CSV
我想从文件名中提取 ClientID 并将其存储在变量中。我不确定我会怎么做。似乎一个脚本任务就足够了,但我不知道如何进行。
我在一个文件夹中有以下命名约定的文件
ClientID_ClientName_Date_Fileextension
我想从文件名中提取 ClientID 并将其存储在变量中。我不确定我会怎么做。似乎一个脚本任务就足够了,但我不知道如何进行。
您的选项是使用 SSIS 变量上的表达式或使用脚本任务。作为一般规则,我更喜欢表达式,但在心理上,我可以看出这是很多代码,或者很多交织在一起的变量。
相反,我会在 .NET 中使用String.Split方法。如果您为示例数据调用了 Split 方法并提供了下划线的分隔符,_
那么您将收到一个 3 元素数组
将其包装在 Try Catch 块中,并始终抓住第二个元素。快速而肮脏,但当然不会解决诸如12345_Dell_Quest_20110103.CSV
但您没有问过这个问题之类的问题。
代码近似
string phrase = Dts.Variables["User::CurrentFile"].Value.ToString()
string[] stringSeparators = new string[] {"-"};
string[] words;
try
{
words = phrase.Split(stringSeparators, StringSplitOptions.None);
Dts.Variables["User::ClientName"].Value = words[1];
}
catch
{
; // Do something with this error
}