未分配 SSIS 脚本任务变量值
Posted
技术标签:
【中文标题】未分配 SSIS 脚本任务变量值【英文标题】:SSIS script task variable value not being assigned 【发布时间】:2017-12-19 13:13:17 【问题描述】:我有这个脚本任务,我用它来为字符串变量赋值,以用作平面文件的连接字符串。该变量有一个只包含标题行的空白文件的默认路径,如果该文件存在于我的传入目录中,则脚本应将变量值更改为该文件的路径。我已经创建了一个断点,并逐行检查了该代码行中 files[0] 的值以将值分配给 var,它包含正确的字符串值。不幸的是,脚本退出后变量的值没有变化。我确实将变量检查为读/写而不是只读。有什么想法我哪里出错了吗?
public void Main()
// TODO: Add your code here
string incoming = Dts.Variables["User::DirIncoming"].Value.ToString();
foreach (Variable var in Dts.Variables)
if (var.QualifiedName.StartsWith("User::Conn"))
string varName = var.QualifiedName.Substring(10);
string[] files = Directory.GetFiles(incoming, varName + "*");
if (files.Length > 0)
var.Value = files[0];
Dts.TaskResult = (int)ScriptResults.Success;
【问题讨论】:
【参考方案1】:我没有意识到我的变量的默认值是通过表达式分配的,因此我需要更改我的表达式而不是我的值。我将有问题的行更改为以下代码,现在一切都很好。感谢大家观看。
var.Expression = $"\"files[0]\"".Replace("\\","\\\\");
【讨论】:
以上是关于未分配 SSIS 脚本任务变量值的主要内容,如果未能解决你的问题,请参考以下文章