SSIS - 如何将输出文件名 (CSV) 设计为动态项目参数?
SSIS - How to design output file-name (CSV) as a Dynamic Project Parameter?
在我的 SSIS 项目中,我需要在 SSIS 中执行转换后输出 CSV 文件。所有生成的文件都应使用动态文件名生成器(类似于 TEST-ddmmyyy.csv)存储在预定义路径(配置为连接字符串)中。
我知道这可以使用 expressions。但我希望将其作为项目参数传递以便于部署。由于不能在项目参数中使用表达式,是否还有其他可能性或替代方案?
将您想要的文件名格式作为参数传递(在您的示例中为 TEST-ddmmyyyy.csv),然后根据需要使用表达式替换部分字符串。在您的示例中,您可以在运行时获取日期,并将 ddmmyyyy 字符串替换为相关数字。
具体如何操作显然取决于文件名所需格式的性质,但在较高级别上,上面的内容听起来应该可以解决问题。如果您需要唯一 ID 而不是日期,您可以将最后一个 ID 号或当前 ID 号存储在配置 table 中,如果 table 不是一个选项,甚至可以存储在一个文件中。
gave the logical solution to the problem. This answer 对一个 SO 问题详细说明了为什么我们不能在项目参数中使用表达式以及解决问题的替代方法。
在我的 SSIS 项目中,我需要在 SSIS 中执行转换后输出 CSV 文件。所有生成的文件都应使用动态文件名生成器(类似于 TEST-ddmmyyy.csv)存储在预定义路径(配置为连接字符串)中。
我知道这可以使用 expressions。但我希望将其作为项目参数传递以便于部署。由于不能在项目参数中使用表达式,是否还有其他可能性或替代方案?
将您想要的文件名格式作为参数传递(在您的示例中为 TEST-ddmmyyyy.csv),然后根据需要使用表达式替换部分字符串。在您的示例中,您可以在运行时获取日期,并将 ddmmyyyy 字符串替换为相关数字。
具体如何操作显然取决于文件名所需格式的性质,但在较高级别上,上面的内容听起来应该可以解决问题。如果您需要唯一 ID 而不是日期,您可以将最后一个 ID 号或当前 ID 号存储在配置 table 中,如果 table 不是一个选项,甚至可以存储在一个文件中。