Using ExcludeColumns switch correctly

gvsoftgvsoft Posts: 20 Bronze 1
edited November 28, 2012 11:45AM in SQL Data Compare Previous Versions
Hello,

I am using SQL Data Compare from the command line. I want to exclude a couple of columns on a table named, "Report". I am using the switch like this:

/excludecolumns:Report:CreatedTime,ModifiedTime

The problem is, since the table name is a regular expression, this matches several other tables with the word "Report" in them, resulting in errors that the specified columns do not exist. I have tried:

/excludecolumns:^^Report$:CreatedTime,ModifiedTime

/excludecolumns:^[Report^]:CreatedTime,ModifiedTime

. . . to no avail. This is ridiculous. What do I have to do to use ExcludeColumns correctly for this SIMPLE case?

Comments

  • Brian DonahueBrian Donahue Posts: 6,590 Bronze 1
    /excludecolumns:^Report$:CreatedTime,ModifiedTime is the correct expression. (Begins with "Report" with nothing follwing "Report"). It looks like the command is going through correctly, but SQL Data Compare is not excluding the columns like it should. I am waiting for word from development about that.
  • gvsoftgvsoft Posts: 20 Bronze 1
    Well that's a relief!

    I should also point out that I am attempting to do this from a batch file. So I am pretty certain that need to escape the hat '^' character, hence my use of:

    ^^Report$

    I eagerly await a reply.
  • Brian DonahueBrian Donahue Posts: 6,590 Bronze 1
    I got the list of reserved characters from MS-DOS documentation and that list does not include the hat ^. Hat is the escape character so AFAIK you don't need to escape it? At any rate I did test it on the command line.

    But this is a different point altogether, the program is broken and using the correct syntax will not help you.
  • gvsoftgvsoft Posts: 20 Bronze 1
    edited August 1, 2017 9:13AM
    I got the list of reserved characters from MS-DOS documentation and that list does not include the hat ^. Hat is the escape character so AFAIK you don't need to escape it? At any rate I did test it on the command line.

    But this is a different point altogether, the program is broken and using the correct syntax will not help you.

    But because '^' is an escape character, it cannot be used by itself without being treated like an escape character. Therefore, to have it treated like a normal '^', it must be escaped as "^^".

    Try this in a batch file:
    @echo This is a hat: ^^
    @echo This is an escape: ^
    

    The first line will display a single '^'. The second will not. In fact, it will cause problems in the batch if left alone.

    Can I expect a fix to the program any time soon?
  • I think it's different in a batch file - like how sometimes you have to use %% instead of %... but I think this is a question best asked to an expert in a Microsoft forum. Like I said, I created a variety of tables with "Widget" in the Middle and "Widget" at the start of the name and it is picking the right table (begins with Widget) but he column stuff is being ignored, with or without the little hat.
Sign In or Register to comment.