通过MS Access VBA创建并动态修改.dtsx文件

问题描述 投票:0回答:1

我正在尝试通过MS Access VBA使用具有动态执行文件名的单个.dtsx文件。我正在尝试将其作为已经在工作中创建的Access工具的一部分来进行。当我

通过将每个文件重命名为一个唯一的名称,运行.dtsx,然后将其改回,我已经能够解决将.dtsx链接到同一文件夹中的多个文件的问题。但是,不一定要保证文件夹目录,因为许多其他用户可能会使用该工具。

Imports Microsoft.SqlServer.Dts.Runtime  

Module ApplicationTests  

  Sub Main()  

    ' The variable pkg points to the location of the  
    ' ExecuteProcess package sample that was installed with  
    ' the SSIS samples.  
    Dim pkg As String = _  
      "C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services" & _  
      "\Package Samples\ExecuteProcess Sample\ExecuteProcess\UsingExecuteProcess.dtsx"  

    Dim app As Application = New Application()  
    Dim p As Package = app.LoadPackage(pkg, Nothing)  

    ' Now that the package is loaded, we can query on  
    ' its properties.  
    Dim n As Integer = p.Configurations.Count  
    Dim p2 As DtsProperty = p.Properties("VersionGUID")  
    Dim pl As DTSProtectionLevel = p.ProtectionLevel  

    Console.WriteLine("Number of configurations = " & n.ToString())  
    Console.WriteLine("VersionGUID = " & CType(p2.GetValue(p), String))  
    Console.WriteLine("ProtectionLevel = " & pl.ToString())  
    Console.Read()  

  End Sub  

End Module  

这是我在https://docs.microsoft.com/en-us/sql/integration-services/building-packages-programmatically/creating-a-package-programmatically?view=sql-server-ver15处找到的代码,但它仅适用于我无法访问的VB.Net。我希望模仿这个想法,但是在Access VBA中-创建/修改SSIS包。

ssis access-vba
1个回答
0
投票

因此,我的快速搜索确认了我认为是正确的-VBA / VBScript无法与您试图通过Imports Microsoft.SqlServer.Dts.Runtime插入的对象模型一起使用。>

[您可以在DTS程序集之间编写一个桥梁,以便可以在VBA中使用它,但是由于您无法使用适当的工具而试图使用Access的VBA,所以,有一个循环引用。

替代品。

SQL Server数据工具,SSDT,是免费的。它是创作SSIS包的工具。它具有一个使用.NET的脚本任务,并且已经设置了对托管对象模型的引用,因此请编写一个可以修改另一个程序包的程序包。

表达式-SSIS程序包中的大多数每个对象都支持表达式,因此使用足够的手肘油脂,您可以启动并运行一些非常动态的程序包。

Biml-商业智能标记语言是Visual Studio的免费插件,它采用了不同的软件包制作方法。

常见的数据处理模式是截断和重新加载数据。 SSIS的许多新手都希望使用单个软件包,该软件包可以获取任何源并将其与目的地匹配,并且希望它们是动态的-指定新的源/目标,然后魔术就发生了。引擎不支持。 Biml让您做的就是定义模式-截断表->具有纯文件源的数据流到OLE DB目标。有了模式之后,就可以使用元数据(这些文件进入这些目标表)并构建N个包。您会得到大量的软件包,但是您并不在乎,因为最困难的部分是定义模式并收集元数据。这些软件包几乎是一次性物品,因为它们将成为您开发的整个生态系统的标准配置。

© www.soinside.com 2019 - 2024. All rights reserved.