question

arielman2304-0180 avatar image
0 Votes"
arielman2304-0180 asked arielman2304-0180 edited

SSIS deploy command doesn't work on remote

I have the below deploy command which is working from my CMD (with no popup screen):

 ISDeploymentWizard.exe /Silent /ModelType:Project /SourcePath:"Integration Services\bin\Development\Integration Services.ispac" /DestinationServer:"TEST,1234" /DestinationPath:"/SSISDB/TEST/DEVOPS"

but when I'm running it thought Jenkins on windows server slave:

 bat "ISDeploymentWizard.exe /Silent /ModelType:Project /SourcePath:\"Integration Services\\bin\\Development\\Integration Services.ispac\" /DestinationServer:\"TEST,1234\" /DestinationPath:\"/SSISDB/TEST/DEVOPS\""

I get this exception:



    Unhandled Exception: System.InvalidOperationException: Showing a modal dialog box or form when the application is not running in UserInteractive mode is not a valid operation. Specify the ServiceNotification or DefaultDesktopOnly style to display a notification from a service application.
    at System.Windows.Forms.Form.ShowDialog(IWin32Window owner)
    at Microsoft.NetEnterpriseServers.ExceptionMessageBox.Show(IWin32Window owner)
    at Microsoft.SqlServer.IntegrationServices.Wizard.Common.WizardMessageBox.Show(Exception error)
    at Microsoft.SqlServer.IntegrationServices.Deployment.Program.Main(String[] args)

From what I read, this is probably due to popup screen which happens on the remote, but from the other hand, both commands are exactly the same

sql-server-integration-services
· 4
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

Thank you for your question.
I am trying to involve someone familiar with this topic to further look at this issue. There might be some time delay. Appreciate your patience.
Thank you for your understanding and support.

1 Vote 1 ·

Your issue is more related with Azure SQL database, I will add the corresponding tag.

0 Votes 0 ·

How it related to Azure SQL?

0 Votes 0 ·

@SunnyQi-MSFT Azure SQL doesn't have SSIS and Azure Data Factory is used instead. Please convey the next steps here.

0 Votes 0 ·
arielman2304-0180 avatar image
0 Votes"
arielman2304-0180 answered arielman2304-0180 edited

Eventually, the syntax was good, but what was wrong is the DestinationServer. Instead using TEST,1234 I had to use the full organization address: TEST.XXX.YYY,1234
What's works locally only with TEST,1234, is not working the same when talking on remote.
What's annoying is that it didn't throw any error, only when I asked the Sys admin to login to the machine I was able to see the popup with the error.
Detailed explanation for that, can be found here (also question which was raised by me):
https://stackoverflow.com/a/67047195/14976099

5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

MotoX80 avatar image
0 Votes"
MotoX80 answered MotoX80 commented

I don't have any way to test Jenkins, but based on experience (and depending on how Jenkins parses quotes) you may need to additional double quote characters in order to get a double quote character included in the command.

From the 1st to 2nd double quotes the command would be:

 ISDeploymentWizard.exe /Silent /ModelType:Project /SourcePath:\

Try these commands and see if either of them works. I'm thinking that the second one might work.

 bat "ISDeploymentWizard.exe /Silent /ModelType:Project /SourcePath:\""Integration Services\\bin\\Development\\Integration Services.ispac\"" /DestinationServer:\""TEST,1234\"" /DestinationPath:\""/SSISDB/TEST/DEVOPS\"""
     
 bat "ISDeploymentWizard.exe /Silent /ModelType:Project /SourcePath:\"""Integration Services\\bin\\Development\\Integration Services.ispac\""" /DestinationServer:\"""TEST,1234\""" /DestinationPath:\"""/SSISDB/TEST/DEVOPS\"""" 


· 4
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

I ran both options and both failed.
Error for the 1st:

 org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
 WorkflowScript: 13: unexpected char: '\' @ line 13, column 99.
    cePath:\""Integration Services\\bin\\Dev
                                  ^
     
 1 error

Error for the 2nd:

 /SourcePath:"
    
 '' is not a valid value for the 'SourcePath' command line option
    
 Unhandled Exception: System.InvalidOperationException: Showing a modal dialog box or form when the application is not running in UserInteractive mode is not a valid operation. Specify the ServiceNotification or DefaultDesktopOnly style to display a notification from a service application.
0 Votes 0 ·
MotoX80 avatar image MotoX80 arielman2304-0180 ·

Oh well.

Another idea I had would be to use Process Monitor and trace the execution on the target system.

https://docs.microsoft.com/en-us/sysinternals/downloads/procmon


In the Filter menu, set it to capture "process name is ISDeploymentWizard.exe". In the trace you can then double click on an entry and examine the command line that it was started with. That way you can verify that Jenkins is parsing and passing the correct parameters to the program.

Powershell example:


96894-capture.jpg


0 Votes 0 ·
capture.jpg (82.2 KiB)

I'm not sure I have the right permissions to use this tool...

0 Votes 0 ·
Show more comments