| Author |
Message |
hmadyson
Joined: 07 Oct 2010 Posts: 1
|
Posted: Thu Oct 07, 2010 8:39 pm Post subject: Problem with IncludeTimestamp |
|
|
Hi,
I am using the api with the datacompare to compare 2 databases. I am using the following code for the mapping options
| Code: |
private EngineDataCompareOptions _options = new EngineDataCompareOptions(
MappingOptions.IgnoreSpaces | MappingOptions.IncludeIdentities | MappingOptions.IgnoreCase,
ComparisonOptions.Default,
SqlOptions.Default ); |
I have timestamps on every table, so I want to ignore those timestamps.
Unfortunately I cannot find the right mix. These options get me to have no Sames in any of the tables.
When the compare creates a script, it excludes all of the changes that are due to timestamp, but I can't get the number counts right.
What am I doing wrong?
Thanks. |
|
| Back to top |
|
 |
Brian Donahue
Joined: 23 Aug 2004 Posts: 6344 Location: Red Gate Software
|
Posted: Mon Oct 11, 2010 2:11 pm Post subject: |
|
|
Hello,
There is an option to ignore timestamps in an "atomic" way, so that you do not have trawl through all of the column mappings looking for timestamp columns.
All that you should need to do is unset MappingOptions.IncludeTimestamps in the first argument to EngineDataCompareOptions (if it is set you can use an XOR operator, for instance in C# MappingOptions.Default ^ MappingOptions.IncludeTimestamps)
In the data compare engine, timestamps can only be compared and the synchronization will ignore them anyway. For this reason, the setting should only affect any display of the data diferences, but not the actual script. _________________ Brian Donahue
Technical Support
Red Gate Software Ltd.
44 (0)870 160 0037 ext 8521
US and CAN 1-866-RED GATE ext 8521 |
|
| Back to top |
|
 |
jimmypooh
Joined: 12 Oct 2010 Posts: 8
|
Posted: Tue Oct 12, 2010 3:00 pm Post subject: same error this doesn't fix |
|
|
I am also having this problem using the following:
| Code: |
private EngineDataCompareOptions _options = new EngineDataCompareOptions(MappingOptions.Default ^ MappingOptions.IncludeTimestamps,ComparisonOptions.None,
SqlOptions.DisableKeys | SqlOptions.DisableTriggers | SqlOptions.DropConstraintsAndIndexes | SqlOptions.OutputComments);
|
The timestamps still do not allow anything to be compared as the same.
Thanks! |
|
| Back to top |
|
 |
Brian Donahue
Joined: 23 Aug 2004 Posts: 6344 Location: Red Gate Software
|
Posted: Tue Oct 12, 2010 3:58 pm Post subject: |
|
|
Are you absolutely positive that the timestamp columns are the source of the differences? _________________ Brian Donahue
Technical Support
Red Gate Software Ltd.
44 (0)870 160 0037 ext 8521
US and CAN 1-866-RED GATE ext 8521 |
|
| Back to top |
|
 |
jimmypooh
Joined: 12 Oct 2010 Posts: 8
|
Posted: Tue Oct 12, 2010 5:45 pm Post subject: |
|
|
| Yes, I have double checked. |
|
| Back to top |
|
 |
Brian Donahue
Joined: 23 Aug 2004 Posts: 6344 Location: Red Gate Software
|
Posted: Tue Oct 12, 2010 6:13 pm Post subject: |
|
|
...Using same the EngineDataCompareOptions in all three places? (I believe mappings, session, and provider all need to use the same options). _________________ Brian Donahue
Technical Support
Red Gate Software Ltd.
44 (0)870 160 0037 ext 8521
US and CAN 1-866-RED GATE ext 8521 |
|
| Back to top |
|
 |
jimmypooh
Joined: 12 Oct 2010 Posts: 8
|
Posted: Tue Oct 12, 2010 7:21 pm Post subject: |
|
|
| That did the trick. I was not setting the options until after CreateMappings[/code] |
|
| Back to top |
|
 |
|