2015-01-27 5 views
1

SSIS 패키지를 실행하려고하는 Access 데이터베이스가 있습니다. 여기에 내가 사용하고있는 코드입니다 :MS-Access - DTEXEC 문제

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

당신은 불균형 따옴표에 문제가 있습니다. J에 대한 Open Quote가 탈출되어야한다고 생각합니다. – billinkc

답변

1

wsh.Run의 첫 번째 인수에 대해 작성하려는 문자열의 따옴표에 문제가 있습니다. 그 문자열을 별도로 해결하는 것이 좋습니다. 당신이 그것을 사용하는 코드를 적용 할 수

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 
+0

대단히 감사합니다! 그것은 많은 도움이되었습니다. –