You can use an XML file to specify the arguments for the command line interface. You may want to do this because:
For example, you could transform your argument file to HTML for presentation on a Web page.
For example, you may want to use the pipe character ( | ) as part of a regular expression, but it causes problems when it is used at the command prompt; if you use an XML file you can use the pipe character with no problems.
This makes it easy to generate and process the XML file.
Create the XML file in the following format:
<?xml version="1.0"?> <commandline> <switch_name1/> <switch_name2>switch_value</switch_name2> .... </commandline> |
For example, for the /Include and /Exclude switches, use the following format:
<include>objecttype:RegularExpression</include> |
To execute the command line tools using an XML argument file as input, at the command prompt enter:
sqlcompare /Argfile:XMLfilename.xml |
When using an XML file
|
Below are some examples of XML files that can be used with SQL Compare. The command line versions of the examples (using aliases) are also provided for comparison. To migrate changes in the XML examples, use the <synchronize/> element.
In all these examples, you can use a scripts folder or snapshot in place of a database. Use <scripts1> and <scripts 2> in the XML file for a scripts folder, and <snapshot1> and <snapshot2> for a snapshot. In the command line, replace /db with/scr for a scripts folder or /snp for a snapshot. |
Using an XML file:
<?xml version="1.0"?> <commandline> <database1>FirstDatabaseName</database1> <database2>SecondDatabaseName</database2> </commandline> |
Using the command line:
SQLCompare /db1:FirstDatabaseName /db2:SecondDatabaseName |
Using an XML file:
<?xml version="1.0"?> <commandline> <database1>FirstDatabaseName</database1> <server1>Hostname1</server1> <database2>SecondDatabaseName</database2> <server2>Hostname2</server2> </commandline> |
Using the command line:
sqlcompare /db1:FirstDatabaseName /s1:Hostname1 /db2:SecondDatabaseName /s2:Hostname2 |
Using an XML file:
<?xml version="1.0"?> <commandline> <database1>FirstDatabaseName</database1> <username1>Username1</username1> <password1>Password1</password1> <database2>SecondDatabaseName</database2> <username2>Username2</username2> <password2>Password2</password2> </commandline> |
Using the command line:
sqlcompare /db1:FirstDatabaseName /u1:Username1 /p1:Password1 /db2:SecondDatabaseName /u2:Username2 /p2:Password2 |
Using an XML file:
<?xml version="1.0"?> <commandline> <database1>FirstDatabaseName</database1> <database2>SecondDatabaseName</database2> <verbose/> </commandline> |
Using the command line:
sqlcompare /db1:FirstDatabaseName /db2:SecondDatabaseName /Verbose |
Using an XML file:
<?xml version="1.0"?> <commandline> <database1>FirstDatabaseName</database1> <database2>SecondDatabaseName</database2> <synchronize/> </commandline> |
Using the command line:
sqlcompare /db1:FirstDatabaseName /db2:SecondDatabaseName /sync |
Using an XML file:
<?xml version="1.0"?> <commandline> <database1>FirstDatabaseName</database1> <database2>SecondDatabaseName</database2> <include>Table</include> <include>Table:Product</include> </commandline> |
Using the command line:
sqlcompare /db1:FirstDatabaseName /db2:SecondDatabaseName /Include:table /Include:table:\[Product\] |
Using an XML file:
<?xml version="1.0"?> <commandline> <database1>FirstDatabaseName</database1> <database2>SecondDatabaseName</database2> <include>Table</include> <include>Table:Product</include> <exclude>Table:ProductHistory</exclude> </commandline> |
Using the command line:
sqlcompare /db1:FirstDatabaseName /db2:SecondDatabaseName /Include:table /Include:table:\[Product\] /Exclude:table:\[ProductHistory\] |
When you create a scripts folder, an XML file containing some basic details about the structure of the database is created. The file is called RedGateDatabaseInfo.xml and is stored in the main scripts folder at the top level.
The file contains the following information, with the defaults as shown:
<?xml version="1.0" encoding="utf-16"> <DatabaseInformation> <DefaultCollation>Latin1_General_CI_AS</DefaultCollation> <DefaultSchema>dbo</DefaultSchema> <DefaultUser>dbo</DefaultUser> <DefaultFilegroup>PRIMARY</DefaultFilegroup> <DatabaseVersion>9</DatabaseVersion> </DatabaseInformation> |
If you have your own set of SQL creation scripts that you want to use in SQL Compare, you can specify the settings for your schema by editing this file. If the file does not exist when you run the comparison, SQL Compare creates it, using the default values.