【问题标题】:How to edit SSIS packages programatically in VB?如何在 VB 中以编程方式编辑 SSIS 包?
【发布时间】:2013-01-08 15:21:40
【问题描述】:

我们已经创建了一个作为 SSIS 包的工作流程,并希望找到一种访问此代码的方法,以便我们可以通过 vb.net 动态访问和运行该代码。例如,我们想更改正在使用的数据源,或者更改现有包的列映射,然后从 vb.net 应用程序中执行它们。请告知执行此操作的最佳方法。

【问题讨论】:

  • 不确定我是否正确。当您说“获得此代码的访问权限”时,您是指包后台的代码吗?您可以使用包配置在运行时更改包的各种属性。但列映射通常是静态的,通常不会在每次运行时更改。

标签: vb.net ssis


【解决方案1】:

您会发现有些任务很容易,有些则不那么容易。

一般来说,您会对阅读Developers Guide to Integration Services 感兴趣。特别感兴趣的是Building Packages ProgrammaticallyRunning and Managing Packages Programmatically

例如,从 VB.NET 到 run a package

Imports Microsoft.SqlServer.Dts.Runtime

Module Module1

  Sub Main()

    Dim pkgLocation As String
    Dim pkg As New Package
    Dim app As New Application
    Dim pkgResults As DTSExecResult

    pkgLocation = _
      "C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services" & _
      "\Package Samples\CalculatedColumns Sample\CalculatedColumns\CalculatedColumns.dtsx"
    pkg = app.LoadPackage(pkgLocation, Nothing)
    pkgResults = pkg.Execute()

    Console.WriteLine(pkgResults.ToString())
    Console.ReadKey()

  End Sub
End Module

要以编程方式更改连接管理器,它相当于 VB.NET

ConnectionManager item = ep.Connections["MyConnectionManagerName"]
item.ConnectionString = @"Provider=SQLNCLI10.1;Data Source=Server1;Initial Catalog=ABC;Integrated Security=SSPI;";

更改列映射,这就是有趣的地方,对于有趣的词的所有定义。我有一个提炼的例子,但它需要一些工作,你会想真正理解整个对象模型(我希望你喜欢 COM)。 EzAPI 可能会在这方面有所帮助。

【讨论】:

    猜你喜欢
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多