Competition: What’s your favorite Redgate tool? Enter now.

v10 command line not working in v11

AndrejsAndrejs Posts: 6
edited May 27, 2015 3:41PM in SQL Compare 11
Hi. We just upgraded to Compare 11. The command line arguments that we used in v10 aren't working anymore in v11. Can anyone help? The v10 command line we use is...

"/Server1:$(ServerOne) /db1:$(DatabaseOne) /Server2:$(ServerTwo) /db2:$(DatabaseTwo) /Filter:$(FilterPath) /Options:IgnorePermissions,IgnoreWhitespace,IgnoreStatistics,IgnoreCollations,IgnoreFileGroups,IgnoreUserProperties,IgnoreWithElementOrder,IgnoreDatabaseAndServerName /ScriptFile:$(OutputScript) /force";

We're obviously replacing the variables with the actual values at deployment time. What do I need to change in order to get this to work? Thanks for your help!!

Comments

  • What error messages are you seeing?
    Development Lead
    Redgate Software
  • Hi Mike. The error message is below. Thanks.

    Exception Message: SQL Compare returned an exit code of 64. Return code was non-zero. Data Diff script generation cannot continue. (type Exception)
  • Hi. Also, I don't know if this helps, but in our build log we get the text below. (I put X's in place of the serial number)


    SQL Compare: activated, edition: professional, serial number: XXX-XXX-XXXXXX-XXXX
    SQL Compare Command Line V11.1.3.30
    ==========================================================================================================================================
    Copyright Copyright c 1999 - 2015 Red Gate Software Ltd

    Registering data sources
    Creating mappings
    Comparing
    Applying Command Line Items (This is as far as it gets)
  • Can you modify your script to print the actual command line it's running? The error code implies that the arguments are invalid, but the arguments you're using should be fine. Unfortunately I can't tell whether they're OK or not without knowing what values are being substituted in place of your variables.
    Development Lead
    Redgate Software
  • Hi. Below are the values. Like I said, this exact string works with v10. Thanks so much for your help!

    /Server1:DEVPCHOICEWEB5FUSNTEAMBUILD01 /db1:MaxDir /Server2:DEVPCHOICEWEB5FUSNQASQL01 /db2:MaxDir /Filter:"file:C:Usersdt0fof6p.NAMCKAppDataLocalTempBuildAgent351Assembliesfusiondbcomparefilter.scpf" /Options:IgnorePermissions,IgnoreWhitespace,IgnoreStatistics,IgnoreCollations,IgnoreFileGroups,IgnoreUserProperties,IgnoreWithElementOrder,IgnoreDatabaseAndServerName /ScriptFile:"C:Builds351Fusion_2010PCDEV03_Dev MasterBinariesSyncScriptsMaxDir.sql" /force
  • Those look like they should be OK. I think that there might be some more error output going to stderr that isn't getting captured by whatever tool you're using to run the SQLCompare.exe. Mechanisms for capturing that output vary depending on the tool you're using, but from the standard command prompt you need to add
    2>&1
    
    to the end of the command.

    Hopefully the stderr output will provide more information about what Compare thinks is wrong with the command line.
    Development Lead
    Redgate Software
  • Hi, I just ran the command line in the command prompt on the build machine. It gave me one additional error. It gave me a URI error. Any ideas?


    SQL Compare Command Line V11.1.3.30
    =======================================================
    Copyright Copyright c 1999 - 2015 Red Gate Software Ltd

    Registering data sources
    Creating mappings
    Comparing
    Applying Command Line Items
    Error: URI formats are not supported.
  • Yes. It's the file: prefix in the filter argument. If you can get that stripped off, everything should work properly.
    Development Lead
    Redgate Software
Sign In or Register to comment.