在 SSIS 中运行时根据源文件夹选择数据库名称

Posted

技术标签:

【中文标题】在 SSIS 中运行时根据源文件夹选择数据库名称【英文标题】:Select Database name based on Source Folder at run time in SSIS 【发布时间】:2016-09-28 07:54:14 【问题描述】:

我在 SSIS 遇到了一个复杂的情况。 我需要访问 10 个包含 .txt 文件的文件夹:\Root\Customer 1.txt 文件(所有文件夹中的文件名和架构都相同)并且应该加载到不同的数据库中。为此,我使用 For Each 循环和 Foreach 内部,使用 Execute 包任务将每个文件指向相应的 pacakge。

例如,如果我正在处理“客户 1”文件夹文件,则应从 \Root 文件夹将这些数据加载到客户 1 数据库中。

即如果文件夹是 \Customer 2 --> Customer 2 DB 如果文件夹是 \Customer 3 --> Customer 3 DB,反之亦然。 因此,只要我的 SSIS 选择了 Customer 1 文件夹,目标数据库就应该设置为 Customer 1 DB。

在这里,我被困在根据客户文件夹选择数据库名称。

【问题讨论】:

【参考方案1】:

您需要在连接管理器中定义“表达式”,然后替换为服务器/数据库。

在您的情况下,每个容器都在其上工作的文件夹名称。

注意:不要忘记评估表达式为真。

【讨论】:

以上是关于在 SSIS 中运行时根据源文件夹选择数据库名称的主要内容,如果未能解决你的问题,请参考以下文章

用 C 编写的 UEFI 二进制文件在 UEFI 中运行时不会选择文本文件

在 ASP.net 中运行时调用存储过程

在 .NET 中运行时生成文件的 T4 替代方案

Excel 连接管理器的 SSIS 包问题

Postgres 选择查询在使用 JDBC 时运行缓慢,但在从同一服务器在 PSQL 中运行时快速

SSIS 部署变量问题