sowmya
sowmya

Reputation: 1

Compare two datasets from different databases using VB.NET

For data assurance, my task is two compare two datasets from different databases. Currently I am performing the cell-by-cell value comparison which is a Brute Force method and is consuming lot of time.

I would like to know if there are any methods which would save my time and memory space, which is able to provide a result indication "Tables are identical" or "Tables are not identical".

Thank you for your assistance.

Upvotes: 0

Views: 986

Answers (2)

dotNET
dotNET

Reputation: 35450

If they are from different sources, there is no other way than comparing them cell by cell AFAIK. However I can suggest you something that will probably increasing comparison speed by many folds. If your DataTables have identical structures, which they hopefully should since you're already comparing them cell by cell, try comparing ItemArray of each pair of rows instead of accessing them by column index or column names (or row properties if you're using strongly-typed DataSets). This will hopefully give you much better results.

If you're using .NET 3.5 or above, this line should do it:

Enumerable.SequenceEqual(row1.ItemArray, row2.ItemArray);

Upvotes: 1

Chief Wiggum
Chief Wiggum

Reputation: 2934

How about creating a checksum for each table and compare the them?

Something like:

SELECT CHECKSUM_AGG(CHECKSUM(*)) FROM TableX

This might need a ORDER BY to be more precise.

Upvotes: 1

Related Questions