【问题标题】:How to manage SSIS script component output columns and its properties programmatically如何以编程方式管理 SSIS 脚本组件输出列及其属性
【发布时间】:2019-03-06 18:24:39
【问题描述】:

我正在 SSIS VS 2017 中开发一个源,它使用脚本组件调用 REST API 并序列化 JSON,并提供我存储在 SQL 表中的记录。 在设计时,我需要手动添加超过 200 个的输出列,并为每一列手动设置数据类型和长度等属性,这非常繁琐。 任何人都可以建议我如何使用程序添加所有这些列并使用代码设置属性,或者我可能只是创建一个 Excel 并导入它并在一秒钟内完成。 请帮助集思广益并提出想法 VSTA 是一种选择,但我不知道该怎么做?从哪里开始!! 谢谢, 库纳尔

【问题讨论】:

  • 您好 Kunal,您应该以编程方式生成整个包。一种简单(在我看来)的方法是BIML
  • 既然你用c#标记了这个问题,我想你可以按照提供的答案的第一部分

标签: c# sql-server ssis script-component ssis-2017


【解决方案1】:

我完全同意@Arthur 的评论,你应该以编程方式构建整个包。您有两种以编程方式创建包的方法:

(1) 使用 C# 构建 SSIS

如果你熟悉 C#,你有两个选择:

(a) 使用 SQL Server 客户端 SDK 程序集

这是官方以编程方式创建ssis包的传统方式,网上有很多链接可以参考,例如:

(b) 使用 EzApi – 替代包创建 API

EzAPI 是一个 .NET 库,由 SSIS 团队的一名测试人员 Evgeny Koblov 用 C# 编写,用于抽象出大量繁琐的低级编码,直接用编程语言创建 SSIS 包 XML 所需的代码

网上有很多链接可以参考,比如:

(2) 使用 BIML 构建 SSIS

如果您熟悉 XML,那么您应该使用 BIML(商业智能标记语言),它是 Varigence 开发的一种标记语言,可以集成到 Visual Studio 中,无需编码经验即可创建包。

有很多链接可以参考学习BIML:


更新 1 - C# 方法

最近我在 Git-Hub 上开始了一个新项目,这是一个使用 C# 开发的类库。您可以使用它使用架构映射方法将表格数据从 excel、word、powerpoint、text、csv、html、json 和 xml 导入到具有不同架构定义的 SQL Server 表中。在以下位置查看:

您可以按照此 Wiki 页面获取分步指南:

您可以使用此库从 json 读取并导入 SQL(无需更改架构),只需几行代码

【讨论】:

  • @Kunal 最后如果您同意此答案,请接受它或者如果您找到其他解决方案,请将其写为您自己的答案
  • 不,这不是我需要直接解决问题的准确答案。生成基于 Cade 的组件不是我可以接受的答案。我相信一定有更好的方法。
  • @Kunal 如果您找到另一种方法,那将非常有趣。不要犹豫,分享这些信息。希望您能找到更好的解决方案。祝你好运
  • 好吧,我相信微软应该考虑一下,解决方案应该很简单,编写大量代码,因为这是不合理的,这是一个简单的要求,应该由微软内置,SSIS 的其他组件有它允许从visual studio复制和粘贴到excel,反之亦然。
猜你喜欢
  • 1970-01-01
  • 2020-11-30
  • 2013-06-28
  • 1970-01-01
  • 1970-01-01
  • 2011-04-18
  • 1970-01-01
  • 1970-01-01
  • 2020-03-15
相关资源
最近更新 更多