sql server-如何以编程方式创建SSIS包



我正试图以编程方式在同一数据库中创建一个SSIS包,该包包含从表a到表B的简单数据流。我正在使用这里给出的例子。包被创建并保存到dtsx文件中,但当我在visualstudio中打开它时,我发现源表和目标表尚未被选中。

我还想在它到达目的地之前,在两者之间插入一个转换任务。


编辑

我已经成功地选择了源表和目标表,任务甚至成功地运行了。原来我需要

(a) 源和目的地各使用一个oleDB连接[我不喜欢这种方式;我只想使用一个连接]

(b) 在目标SetComponentProperty("Accessmode",3)中将访问模式设置为3,这相当于表或视图-快速加载。

有关于这方面的文件吗。我所能找到的只是SetComponentProperty的作用,而不是它可以使用的所有参数。除了"访问模式",我还能放什么?,第二个参数3、2或1代表什么?

仍在努力绘制名字。STOCK:PipelineTask表示数据流任务。say的名字是什么。。。复制列?

是的,这是我对SSIS的不满之一:它们没有提供新术语的简单表或映射。

您可以使用一小段代码来发现可供使用的组件。

代码位于此处:http://msdn.microsoft.com/en-us/library/ms136106.aspx

当我运行它时,我发现copy列的名字对象是:名称:复制列创意名称:DTSTransform.CopyMap.1

如果不想使用DTS.net程序集,可以使用EzApi,它提供了更简单的语法来以编程方式创建SSIS包。

EzAPI是一个由Evgeny Koblov用C#编写的.NET库,他是SSIS团队的测试人员之一,可以抽象掉许多繁琐的低级编码,这些编码是直接用编程语言创建SSIS包XML所需的

EzApi最初是作为微软产品团队创建的SSIS社区示例项目的一部分发布的:

  • SQLSvIntegrationSrv
  • GitHub-MSSQLSSIS社区示例

稍后,它作为一个单独的项目发布,以添加对SQL Server 2016:的支持

  • GitHub-EzApi2016
  • NuGet画廊-EzApi

要开始使用EzApi,在互联网上有很多链接,你可以参考,例如:

  • EzAPI–替代包创建API
  • EzAPI概述
  • EzApi是一个用程序创建SSIS包的C#库
  • EzAPI入门

我曾经有一本SQL Server 2005 Integration Services,一本Wrox书。我确信它有整整一两章专门讨论以编程方式处理SSIS包。你可能想去当地的一家书店看看,它可能有你想要的。

对不起,我不能给你任何比参考书更具体的东西。祝你好运

最新更新