SSIS中的动态连接字符串

问题描述 投票:2回答:3

我在从SSIS变量填充XML文件的动态文件路径时遇到以下问题。

在Visual Studio 2017中,我具有一个执行SQL任务,该任务带有一个返回两列的MS SQL存储过程。第一列是日期(存储为字符串),第二列是URL。这两列(单行)填充了SSIS变量,并映射在“脚本任务”的“结果集”选项卡上。下一步是脚本任务,该脚本任务使用变量中的URL从Web服务下载xml文件。 xml文件是使用文件连接管理器存储的。文件的连接字符串是一个表达式,应使用Execute SQL Task

中的第一个变量(User::rateDate

连接字符串表达式:

@[User::xmlFileLocation] + "ExchangeRates-" +  @[User::rateDate]  + ".xml"

这等于

\ server \ ExchangeRates \ ExchangeRates-.xml

XML文件应另存为ExchangeRates-2017-12-19.xml,其中2017-12-19是存储过程的结果,但XML文件另存为ExchangeRates-.xml

如果我手动填充User::rateDate变量,它将在连接字符串中使用它,但是我无法从存储过程结果中填充它。

生成的日期也是URL生成的一部分,所以我希望两者都在同一位置创建,即,我不想通过表达式中的某些GETDATE()逻辑来分配文件名。

我已经确认正在填充变量是一个脚本任务C#弹出。

通过将存储过程结果更改为显式字符串(例如“ test”,已确认这不是日期/字符串问题)。仍然不会将其添加到连接字符串中。

谢谢蒂姆

“主标签”“结果标签”“变量”“

sql-server ssis etl sql-server-data-tools ssis-2017
3个回答
1
投票

我将根据存储过程类型提供2个解决方案:


0
投票

将变量User::rateDate的数据类型更改为datetime。然后,将您的连接字符串表达式更改为以下内容:


-5
投票

我真的很喜欢阅读这篇文章。希望您在以后的时间里做得更好。感谢您的分享。Oracle DBA Training in Bangalore

© www.soinside.com 2019 - 2024. All rights reserved.