2017-05-12 28 views
5

enter image description here Utworzono aplikację konsolową, a teraz chcę wykonać ten plik .exe z SQL Server. Uruchomienie tej kwerendy uzyskuje tylko dane wyjściowe null. Proszę pomóż mi.Uruchom plik exe z parametrem z SQL Server

DECLARE @CMDSQL VARCHAR(1000), 
      @Reportname VARCHAR(100), 
      @TerminalCode VARCHAR(10), 
      @FinYear VARCHAR(10) 

    SET @Reportname =('05 - Import Load Delivery') 
    SET @FinYear='2017-18' 
    SET @TerminalCode='BOM' 
    SET @CMDSQL = '"D:\ExportToExcel.exe" ' + @Reportname + ' ' + @TerminalCode + ' ' + @FinYear 

    --print @CMDSQL 
    Exec master..xp_cmdshell @CMDSQL 
+0

Spróbuj zamknąć wartości parametrów w cudzysłowach: 'SET @CMDSQL = '" D: \ ExportToExcel.exe "" "+ @ Nazwa raportu +" "" "+ @ TerminalCode +" "" "+ @ FinYear +" "" –

+0

thatx Dan Guzman, ale to też nie działa –

+0

'NULL' jest oczekiwany, jeśli twoja aplikacja nie wytwarza wyjścia konsoli. Czy pisze wiadomości na konsolę, sukces czy porażkę? –

Odpowiedz

3

Spróbuj tego:

SET @CMDSQL = 'CMD /S /C " "D:\ExportToExcel.exe" "' + @ReportName + '" "' + @TerminalCode + '" "' + @FinYear + '" "' 

Ważne jest, aby zacytować poszczególne parametry jak sugeruje @DanGuzman.