SQL Compare 10 command line from direct source control

Compares and synchronizes SQL Server databases, backups and scripts.

Moderators: JonathanWatts, Chris Auckland, David Atkinson, eddie davis, Anu Deshpande, Michelle Taylor, alice.easey, james.billings, chengvoon.tong

SQL Compare 10 command line from direct source control

Postby kalhara » Thu Apr 05, 2012 3:18 am

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>
<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:
kalhara
 
Posts: 4
Joined: Thu Apr 05, 2012 3:11 am

Postby Brian Donahue » Mon Apr 09, 2012 3:12 pm

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.
Code: Select all
<?xml version="1.0" encoding="utf-16" standalone="yes"?>
<ISOCCCompareLocation version="1" type="SvnLocation">
    <RepositoryUrl>
        http://server1.mydomain.local:81/svn/P1/tags/Current/2.14.0.24/DBs/My_DB/
    </RepositoryUrl>
</ISSOCCompareLocation>
Brian Donahue
 
Posts: 6670
Joined: Mon Aug 23, 2004 10:48 am

Postby kalhara » Tue Apr 10, 2012 1:34 am

It seems scriptsfolderxml is Deprecated method ?
kalhara
 
Posts: 4
Joined: Thu Apr 05, 2012 3:11 am

Postby Brian Donahue » Tue Apr 10, 2012 9:33 am

I was told migrationsfolderxml was deprecated and replaced by scriptsfolderxml.
Brian Donahue
 
Posts: 6670
Joined: Mon Aug 23, 2004 10:48 am

Postby David Pond » Wed Apr 11, 2012 1:32 pm

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?).
David Pond
Site Admin
 
Posts: 24
Joined: Tue Mar 06, 2012 7:13 pm
Location: Cambridge, UK

Example

Postby SeanRhone » Tue Jul 31, 2012 9:48 pm

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!
SeanRhone
 
Posts: 11
Joined: Mon Jun 25, 2012 8:50 pm

Postby David Atkinson » Tue Jul 31, 2012 10:44 pm

Would it be possible for you to post your syntax so we can identify what the problem is?

David Atkinson
Red Gate
David Atkinson
 
Posts: 1124
Joined: Mon Dec 05, 2005 4:54 pm
Location: Twitter: @dtabase

setup

Postby SeanRhone » Wed Aug 01, 2012 1:23 am

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
Last edited by SeanRhone on Wed Aug 01, 2012 2:06 am, edited 1 time in total.
SeanRhone
 
Posts: 11
Joined: Mon Jun 25, 2012 8:50 pm

updated file

Postby SeanRhone » Wed Aug 01, 2012 2:05 am

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>
<SourceControlFolder>$/Databases/E/Development/QM</SourceControlFolder>
</ISOCCompareLocation>

Still getting the same error message though
SeanRhone
 
Posts: 11
Joined: Mon Jun 25, 2012 8:50 pm

Postby David Atkinson » Wed Aug 01, 2012 2:29 pm

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
 
Posts: 1124
Joined: Mon Dec 05, 2005 4:54 pm
Location: Twitter: @dtabase

That fixed it

Postby SeanRhone » Wed Aug 01, 2012 3:29 pm

Thanks David - After applying that update the command line works now!
SeanRhone
 
Posts: 11
Joined: Mon Jun 25, 2012 8:50 pm


Return to SQL Compare 10

Who is online

Users browsing this forum: No registered users and 1 guest