c# - 我在哪里可以找到可以从存储过程创建文件(Excel、txt、csv)的模板 SSIS 包
问题描述
我对生成和交付具有不同扩展名的文件有很多要求,例如:.xlsx、.txt、.csv
我不擅长 c#,但我假设有一个带有 Script Task 的 SSIS 包,您只需要更改变量名,如Extension
等StoredProcedureName
。它会动态创建任何扩展名的文件并将该 SP 的输出插入到文件中。
有人遇到会做类似事情的 SSIS 包模板吗?
谢谢
解决方案
由于 SSIS 数据流的工作方式,您正在寻找的内容将不存在。元数据(关于类型、列数等的数据)与 SSIS 包的设计时体验紧密相关。尝试在运行时更改它会导致验证错误 (VS_NEEDSNEWMETADATA)。
即使您可以使更改的元数据正常工作,输出也会成为下一个问题。您可以在运行时更改文件名或目标表名或许多其他内容。但是,您无法改变的是目标本身。我不能让一个包修改自己以发送到平面文件,然后在下一次运行中翻转一个标志,现在我们生成一个 Excel 文件。
如果您有编码技能,您可以基于元数据动态创建包,然后自行运行,但 由于 COM 和 .NET 对象的混合,这不是一项有趣的任务。
如果是我,我会看类似Biml的东西。使用您必须构建一个包的元数据来处理所有可能的排列(源查询 A 到 Excel、平面文件、CSV 等)。一旦你确定了模式,你就可以为所有可能的源查询制作一个包。然后,您将问题简化为编排——我运行哪个包?
推荐阅读
- javascript - Node js,替换嵌套数据结构中的出现
- flutter - 解析 Json 数组的 Flutter 项目
- python - 如何使用opencv将椭圆转换为圆形?
- c# - 如何通过单元格值更改gridview行颜色?
- ffmpeg - 在 Visual Studio 的 Msys2 中使用 x264 编译 ffmpeg 的静态库,但从未找到 libx264
- rabbitmq - RabbitMQ 在消费者端传递时是否检查消息完整性?
- python - Python无效语法问题
- python - 在 Python 中使用 Selenium 按类名单击并抓取“a href”链接
- python - 基于唯一列创建新数据框
- reactjs - onIonChange 在 Ionic 5 React 上触发多个输入