MS-Access - DTEXEC问题

时间:2015-01-27 17:52:45

标签: ms-access ssis

我有一个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数据库时,我都会遇到编译错误:预期:语句结束。

有人可以告诉我这个查询我做错了什么吗?我正在使用这篇文章的解决方案:

Wait for shell command to complete

我搜索了那篇帖子,找不到能帮我解决问题的答案。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

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

以下是Access Immediate窗口中的示例,该窗口创建一个包含带引号的文件路径的有效字符串:

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

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

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