SSIS 脚本任务无法读取项目变量
SSIS script task can't read project variable
在我的 project.params 中,我有诸如 LampUserName
类型的字符串变量。在我的
脚本任务然后我尝试像这样阅读它们:
foreach (var name in new string[] { "ServerName", "InitialCatalog", "UserName", "Password" }) {
if (!Dts.Variables.Contains(string.Format("$Project::Lamp{0}", name))) {
writer.WriteLine(name);
}
}
string server_name = (string)Dts.Variables["$Project::LampServerName"].Value;
string database = (string)Dts.Variables["$Project::LampInitialCatalog"].Value;
string username = (string)Dts.Variables["$Project::LampUserName"].Value;
string password = (string)Dts.Variables["$Project::LampPassword"].Value;
其中每一个都打印出它不存在,然后抛出异常。我做错了什么?
您是否从数据流任务中的脚本组件引用了您的项目参数?如果是这样,这不同于在控制流中使用脚本任务。在 ReadOnlyVaraiables 字段中添加项目参数后,它可以作为 Variable 对象的 属性 访问。
string database = Variables.DatabaseParameter.ToString();
在我的 project.params 中,我有诸如 LampUserName
类型的字符串变量。在我的
脚本任务然后我尝试像这样阅读它们:
foreach (var name in new string[] { "ServerName", "InitialCatalog", "UserName", "Password" }) {
if (!Dts.Variables.Contains(string.Format("$Project::Lamp{0}", name))) {
writer.WriteLine(name);
}
}
string server_name = (string)Dts.Variables["$Project::LampServerName"].Value;
string database = (string)Dts.Variables["$Project::LampInitialCatalog"].Value;
string username = (string)Dts.Variables["$Project::LampUserName"].Value;
string password = (string)Dts.Variables["$Project::LampPassword"].Value;
其中每一个都打印出它不存在,然后抛出异常。我做错了什么?
您是否从数据流任务中的脚本组件引用了您的项目参数?如果是这样,这不同于在控制流中使用脚本任务。在 ReadOnlyVaraiables 字段中添加项目参数后,它可以作为 Variable 对象的 属性 访问。
string database = Variables.DatabaseParameter.ToString();