parametersssisdtexec

DTExec: How to use a semicolon within a parameter value for SSIS package


I just learned from this stack overflow post that if parameters are not configured correctly (if you are missing a required parameter) when using DTExec to run a package from the command line, your package will forever be stuck in a "Created Execution" status, and never actually run.

Some similar odd behavior is occurring when I have a semicolon within my SSIS package parameter when using DTExec. If there is a semicolon in a parameter, DTExec simply says:

"The syntax of the command is incorrect."

DTExec.exe /ISSERVER "\SSISDB\Data Feeds\Data Feed Project\Data Feed.dtsx" /SERVER "." /parameter RequiredParameter(string);parameter;value;has;semicolons

What is the correct syntax? Escaping the semicolons does not seem to work.


Solution

  • I got the answer courtesy of this SQL Server Central post. The command line argument for the parameter name/type/value must be quoted, and then within the argument, the parameter value must be double quoted:

    /parameter "RequiredParameter(string);""parameter;value;has;semicolons"""
    

    The whole execution command line from the example above becomes:

    DTExec.exe /ISSERVER "\SSISDB\Data Feeds\Data Feed Project\Data Feed.dtsx" /SERVER "." /parameter "RequiredParameter(string);""parameter;value;has;semicolons"""