SQL Compare 10 command line from direct source control

kalharakalhara Posts: 6
edited August 1, 2012 10:29AM in SQL Compare Previous Versions
I'm using the following arg file for the command line tool and it throws
"Error: Object reference not set to an instance of an object."

What's wrong with it. Hardly I can find any examples to compare directly from source control.

<?xml version="1.0"?>
<commandline>
<sourcecontrol1>http://server1.mydomain.local:81/svn/P1/tags/Current/2.14.0.24/DBs/My_DB/</sourcecontrol1&gt;
<version1>23431</version1>
<versionusername1>1111</versionusername1>
<versionpassword1>1111</versionpassword1>
<server2>DBserver</server2>
<username2>sa</username2>
<password2>22222</password2>
<database2>My_DB</database2>
<filter>C:\Filters\myfilter.scpf</filter>
</commandline>

Thanks :roll:

Comments

  • Brian DonahueBrian Donahue Posts: 6,590 Bronze 1
    Comparing directly from source control is fairly new and I think the new v10.1 extensions aren't even documented yet.

    That said I'll have to double-check this on Tuesday as today is a holiday, but if you want to use source control with SQL Compare, you'll need to use the <scriptsfolderxml> argument to point to the repository. sourcecontrol1 and sourcecontrol2 are scripts folders according to the help (sqlcompare /? /v) so should be pointing to folders on disk as far as I know...

    Scriptsfolderxml should point to a file containing the source control repository information.
    &lt;?xml version="1.0" encoding="utf-16" standalone="yes"?&gt;
    &lt;ISOCCCompareLocation version="1" type="SvnLocation"&gt;
        &lt;RepositoryUrl&gt;
            http://server1.mydomain.local:81/svn/P1/tags/Current/2.14.0.24/DBs/My_DB/
        &lt;/RepositoryUrl&gt;
    &lt;/ISSOCCompareLocation&gt;
    
  • It seems scriptsfolderxml is Deprecated method ?
  • Brian DonahueBrian Donahue Posts: 6,590 Bronze 1
    I was told migrationsfolderxml was deprecated and replaced by scriptsfolderxml.
  • Just to clarify the "deprecated" issue, since this is all my fault. :oops:

    I initially decided to mark /migrationsfolderxml as deprecated because in the use-case I imagined it made more sense for people to use /migrationsfolder. But the feedback suggests that /migrationsfolderxml is actually more useful.

    I also accidently marked /scriptfolderxml as deprecated, it is not.

    We know this is a complicated part of the commandline and the plan is to improve this area as soon as possible (next month?).
  • Is there an example of command line use of argument file com parings Tfs and SQL database? I would like to set up CI between the Tfs and my development database but cannot seem to get the syntax correct for using a Tfs repository as the source1 and a sql database as source2.

    Any help is greatly appreciated!
  • Would it be possible for you to post your syntax so we can identify what the problem is?

    David Atkinson
    Red Gate
    David Atkinson
    Product Manager
    Redgate Software
  • SeanRhoneSeanRhone Posts: 13
    edited July 31, 2012 9:06PM
    I have a file names Testing2.xml which contains the following

    <?xml version="1.0"?>
    <commandline>
    <ISOCCompareLocation version="1" type="TfsLocation">
    <RepositoryUrl>
    http://server:8080/tfs/legacy/$/Databas ... lopment/QM
    </RepositoryUrl>
    <ISOCCompareLocation>
    </commandline>

    calling the

    sqlcompare.exe /sourcecontrol1 /revision1:head /scriptsfolderxml:LocationToTesting.xml /database2:QM server2:MySqlDatabaseName

    I'm getting an error message that states

    Error: Invalid connection database connection parameter: Values cannot be null. Parameter name: scriptFolderLocation

    Since I cannot find an example on the syntax, I'm not sure what to change
  • Found out that the xml was incorrect and chaged to

    <?xml version="1.0" encoding="utf-16" standalone="yes"?>
    <ISOCCompareLocation version="1" type="TfsLocation">
    <ServerUrl>http://Server:8080/tfs/legacy</ServerUrl&gt;
    <SourceControlFolder>$/Databases/E/Development/QM</SourceControlFolder>
    </ISOCCompareLocation>

    Still getting the same error message though
  • What version of SQL Compare do you have installed? Before we spend too long troubleshooting it might be worth trying the patch referenced here.

    http://www.red-gate.com/MessageBoard/vi ... hp?t=15335

    Once thing also worth trying is adding /verbose in case this provides better information.

    David
    David Atkinson
    Product Manager
    Redgate Software
  • Thanks David - After applying that update the command line works now!
Sign In or Register to comment.