如何以编程方式管理SSIS脚本组件输出列及其属性

时间:2019-03-06 18:24:39

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

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

1 个答案:

答案 0 :(得分:1)

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

(1)使用C#构建SSIS

如果您熟悉C#,则有两种选择:

(a)使用SQL Server Client SDK程序集

这是通过编程方式创建ssis软件包的官方传统方式,互联网上有许多链接可以参考,例如:

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

  

EzAPI是一个由Evgeny Koblov用C#编写的.NET库,它是SSIS团队的测试人员之一,它抽象了许多直接用编程语言创建SSIS包XML所需的繁琐的底层编码

您可以参考互联网上的许多链接,例如:

(2)使用BIML构建SSIS

如果您熟悉XML,则应使用BIML(商业智能标记语言),这是Varigence开发的一种标记语言,可以将其集成到Visual Studio中以创建程序包,而无需编码经验。

您可以参考许多链接来学习BIML:


更新1-C#方法

最近,我在Git-Hub上启动了一个新项目,该项目是使用C#开发的类库。您可以使用它使用架构映射方法将Excel,Word,Powerpoint,文本,CSV,HTML,JSON和xml中的表格数据导入具有不同架构定义的SQL Server表中。在以下位置查看:

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

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