Comparing databases that should be equal across the board, schema and content wise, is relatively straightforward. You compare schema tables, and out come the differences. Or you descend on each record in one database and compare it with the corresponding record in another database.
But what if your databases are inherently different, for instance, have different identifier or column names that should contain identical information? Worse, what if your databases not only have different identifiers, but also different content ranges that should nevertheless correlate?
Database Comparer can compare such non-identical value ranges. Here’s how it works and why it can be extremely useful.
Let's say that you have employee information in two different databases. In the first database an employee is identified by table column name 'EmployeeID'. In the second by 'ID'.
When you create two Data Sets, one from the first database with identifier 'EmployeeID', and one from the second with identifier 'ID', and run an existence comparison, you find no differences.
However, there is a table column named 'IsActive' in the first database, which contains either value 'Valid' or 'Invalid', while in the other there's a column named 'Expired', which contains either value '0' or '1'. The value 'valid' in the first database should correspond with value '0' in the second database, and value 'invalid' with '1'.
Normally you can't compare these columns. Your abberation report would contain all the records.
With Database Comparer you can convert these values to a boolean when you perform a comparison. You can define that the value for 'IsActive' is True when value is 'Valid' and False when the value is 'Invalid'. For 'Expired' in the other database, you can define that value '0' constitutes True and value '1' False.
By converting values or a combination of values to a boolean value of either True or False, you can compare record field values that don't and never will contain identical values.