2017-05-12 16 views
5

enter image description here Tôi đã tạo ứng dụng bảng điều khiển và bây giờ tôi muốn thực thi tệp .exe này từ SQL Server. Chạy truy vấn này chỉ nhận được kết quả null. Làm ơn giúp tôi.Chạy tệp exe với tham số từ 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

Hãy thử kèm theo giá trị tham số trong dấu ngoặc kép: 'SET @CMDSQL = '" D: \ ExportToExcel.exe ""' + @ Tên báo cáo + '""' + @ TerminalCode + '""' + @ FinYear + '"'' –

+0

thatx Dan Guzman nhưng điều này cũng không hoạt động –

+0

'NULL' được mong đợi nếu ứng dụng của bạn không tạo ra đầu ra console. Liệu nó có viết các thông điệp lên bàn điều khiển, thành công hay thất bại không? –

Trả lời

3

Hãy thử điều này:

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

Điều quan trọng là để trích dẫn các thông số cá nhân như @DanGuzman gợi ý.

Các vấn đề liên quan