我有一个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
我搜索了那篇帖子,找不到能帮我解决问题的答案。任何帮助表示赞赏。
答案 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