MS-Access - DTEXEC 问题

MS-Access - DTEXEC issues

我有一个 Access 数据库,我正在尝试从中 运行 一个 SSIS 包。这是我正在使用的代码:

Dim wsh As Object
Set wsh = VBA.CreateObject("WScript.Shell")
Dim waitOnReturn As Boolean: waitOnReturn = True
Dim windowStyle As Integer: windowStyle = 1

wsh.Run "dtexec /f "J:\SQL Server Programming\SSIS\MyPackage\MyPackage.dtsx"", windowStyle, waitOnReturn

但是每当我 运行 通过 Access 数据库时,我都会收到编译错误:预期:语句结束。

有人可以告诉我这个查询有什么问题吗?我正在使用来自 post:

的解决方案

Wait for shell command to complete

而且我搜索了那个 post,但找不到对我的问题有帮助的答案。任何帮助表示赞赏。

您尝试为 wsh.Run 的第一个参数构建的字符串中的引号存在问题。我建议你单独计算那个字符串。

这是一个来自 Access Immediate window 的示例,它创建了一个包含引用文件路径的有效字符串:

Debug.Print "dtexec /f ""J:\SQL Server Programming\SSIS\MyPackage\MyPackage.dtsx"""
dtexec /f "J:\SQL Server Programming\SSIS\MyPackage\MyPackage.dtsx"

假设这是您想要的字符串,您可以调整代码以将其与 wsh.Run 一起使用。在调用 wsh.Run:

之前,我会将字符串存储在一个变量中并 Debug.Print
Dim strCommand As String
strCommand = "dtexec /f ""J:\SQL Server Programming\SSIS\MyPackage\MyPackage.dtsx"""
Debug.Print strCommand
wsh.Run strCommand, windowStyle, waitOnReturn