Looking for software to check for equality between Oracle and SQL server databases

Cat Gardiner
Cat Gardiner used Ask the Experts™
on
I have a SQL Server database and an Oracle database containing tables that should have identical row counts and identical data stored within each field of each row.  

Is there a tool available I can use to check that these two sources contain exactly the same data?  Row counts are not sufficient for my customers' peace of mind.

If the tables are identical in structure save for one additional field on the SQL side, will the product function?

Many thanks for your suggestions.
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
DarrenSenior Software Engineer

Commented:
Hi,

You could look at creating a linked server and comparing them this way.

Not sure of any tools off the top of my head. A lot of them are either SQL Server, Oracle, PostgreSQL specific. Test to production roll outs etc...

Maybe someone else might have more info.

Thanks,

Darren
Geert GOracle dba
Top Expert 2009

Commented:
will it function ?
with just the table data compared ?

there is more than just table data
besides that, the way oracle works and the way mssql works is different
case insensitive collation versus case sensitive data, locking mechanism, pl/sql versus transact sql, features like regex, ...

the only way to know is if you test that
my guess is ... probably not
Cat GardinerBI Developer

Author

Commented:
Thanks for the linked server suggestion.  My problem is about customer satisfaction and so really I'm looking for a tried and tested product that can be configured as opposed to building a solution.
Oracle dba
Top Expert 2009
Commented:
there isn't such a product
at least not a product which can transport all features correctly

for an example: i'm currently testing odd behavior of left joins in oracle
with t as (select 1 x from dual) select * from t left join t on 1 = 0;

for mssql:
either create the dual table, or remove the from dual part
with t as (select 1 x ) select * from t left join t on 1 = 0;
Cat GardinerBI Developer

Author

Commented:
It looks as though we will have to build something a bit more manually.  Thank you for your comments.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial