如何理解 ssis 中的表达逻辑

Posted

技术标签:

【中文标题】如何理解 ssis 中的表达逻辑【英文标题】:how to make sense of expression logic in ssis 【发布时间】:2015-05-14 11:04:18 【问题描述】:

我正在处理一个 SSIS 项目,该项目涉及解压缩一个文件夹,该文件夹在提取时使用 ForEachLoop 容器在同一目录中包含多个文本文件。 每个文件都有不同的名称。

我有两个变量,其中变量 2 有一个表达式

Variable 1
name = zipfileName 
Value= sample.zip

variable 2
name = FileName 
value = *.* 
Expression = REPLACE(@[User::ZipFileName],".zip",".txt")

我需要澄清一下表达部分

我的想法是这个表达式意味着压缩文件的名称在提取时被替换为 .txt 扩展名?我也想知道它是如何在运行时动态更改文件名的 是多个文件

谢谢

【问题讨论】:

【参考方案1】:

据我所知,Expression 正在将.zip 替换为.txt 中的[User::ZipFileName]

如果[User::ZipFileName]的值为somefile.zip

输出将是:

somefile.txt

【讨论】:

谢谢 Pedro ,由于要运行多个文件,您知道它如何满足每次选择不同的文件名吗? 我不确定我是否理解你的评论,[User::ZipFileName] 似乎是一个变量,所以它应该在每次交互时改变。 我的意思是说我有 3 个这样的文本文件,如 abc.txt、def.txt 和 ghi.txt。这些文件将包含两列 ClientID 和 FileName 例如 abc.txt 。我的问题是如何检索每次交互的文件名部分并将其放入数据库中?

以上是关于如何理解 ssis 中的表达逻辑的主要内容,如果未能解决你的问题,请参考以下文章

SSIS 优先约束 - 带有 AND 的表达式

SSIS:动态查找查询

SSIS变量属性中EvaluateAsExpression设置的作用

SSIS序列容器

如何通过逻辑应用中的表达式语法访问数组值

如何比较 SQL where 条件中的两个逻辑表达式? [关闭]