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

亚里士多德·欧克莱德

我试图通过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/zh-cn/sql/integration-services/building-packages-programmatically/creating-a-package-programmatically?view=sql-server-ver15上找到的代码,但是它仅适用于VB.Net,我无权访问。我希望模仿这个想法,但是在Access VBA中-创建/修改SSIS包。

Billinkc

因此,我的快速搜索确认了我认为是正确的-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个包。您会得到大量的软件包,但是您并不在乎,因为最困难的部分是定义模式并收集元数据。这些软件包几乎是一次性物品,因为它们将成为您开发的整个生态系统的标准配置。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

通过 MS Access VBA 将选定的 Outlook 电子邮件另存为 .msg 文件

通过ODBC修改现有的MS Access查询

在 MS-Access 中通过 VBA 进行 Googlesearch

MS Access:通过vba以无限形式绑定的条件,

如何通过Python 3.5.1创建永久的MS Access查询?

通过MS-ACCESS中的vba创建新表时如何包含变量

通过JS ActiveX ADO在MS Access 2013中通过视图查询执行VBA功能

无法通过邮件创建和发送动态CSV文件作为附件

使用VBA从MS Access表创建格式化的文本文件

MS Access-如何通过修改表来更改链接表的路径

MS Access VBA导出表到文本文件

停止ms Access VBA打开Excel文件只读

MS Access 365-创建包含链接文件的子表单

MS Access-创建一个模块,使用VBA通过不同的组合框过滤子表单

MS-ACCESS VBA如何通过表单名和控件名调用公共函数

如何通过MS-Access VBA中的TextBox.OnKeyUp属性传递KeyCode

通过VBA MS Access将多值列的数据绑定到组合框中

如何通过VBA更改MS Access中打开的“选项卡式表单”的顺序

如何通过只读数据连接到MS Excel /从MS Excel进行访问,才能防止MS Access文件被锁定进行编辑?

通过MS Access更新查询在SQL Server中创建存储过程

如何通过Python创建和打开文件?

通过AJAX动态创建和提交表单

在Access中通过VBA将XLTX文件转换为PDF

如何通过 Access VBA 正确访问 Excel 文件

通过命令行从Winform C#以编程方式运行.dtsx文件

访问通过Xlwt库(Python)生成的.dtsx中的Excel文件会引发错误CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER

检查创建和修改的文件日期是否被修改?

通过SSMS编辑dtsx

MS-Access VBA 进程