我们已经创建了一个工作流程作为SSIS包,并希望找到一种获取此代码的方法,以便通过vb.net我们可以动态访问和运行该代码。例如,我们想要更改正在使用的数据源,或者更改现有包的列映射,然后从vb.net应用程序执行它们。请告知最好的方法。
答案 0 :(得分:1)
你会发现你的一些任务很简单,其他的则不是很多。
一般来说,您会对阅读Developers Guide to Integration Services感兴趣。特别感兴趣的是Building Packages Programmatically和Running 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可能会在该领域提供一些帮助。