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

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.
Cat GardinerBI DeveloperAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

DarrenSenior Software EngineerCommented:

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.


Geert GOracle dbaCommented:
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 DeveloperAuthor 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.
Geert GOracle dbaCommented:
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;

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Cat GardinerBI DeveloperAuthor Commented:
It looks as though we will have to build something a bit more manually.  Thank you for your comments.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.