Skip to main content

I am very new to use this tool and thought some of expert from this forum might help me

I have oracle11 database and migrated to MS SQL server 2014

I would like to compare data between oracle11->database1->table1 with mssqlserver2014->database1->table1

I would like to compare data between each table with cross databases

Please, let me know steps to do this

I'd probably try the change detector- pretty simple to use and I've always had success with highlighting any differences between 2 tables using this

https://www.safe.com/transformers/change-detector/


There are several ways to accomplish this, but here's the simplest one:

  • Insert an Oracle reader that reads oracle11->database1->table1
  • Insert an MS SQL Server reader that reads mssqlserver2014->database1->table1
  • Send both reader outputs into a ChangeDetector transformer.


Hi @click4vk, the ChangeDetector, UpdateDetector, or Matcher can be used to compare the tables depending on your comparsion criteria. Check out: Change Detection


Thanks for your response

I am very new to use this tool

I have created one reader for oracle and one more reader for MS SQL server 2014

How to create changedetector and view the difference in the data? If someone can give me a step by step instructions on how to do this, that would be very helpful.


I would choose the UpdateDetector, as it uses the key attribute to have a key on how to make the comparison.


One would like to keep in mind when using the ChangeDetector:

  • Attributes coming from Oracle fieldnames are usually converted to uppercase, whereas MSSQL attributes do not (fix by BulkAttributeRenamer);
  • Oracle attribute encoding might be different from MSSQL encoding (fix by AttributeEncoder)
  • Oracle reader adds different attributes than MSSQL (fix by AttributeRemover, sorry, AttributeManager)
  • Coordinate precision might not be the same across database platforms (be careful using CoordinateRounder)

All of this might cause the ChangeDetector to conclude that there is a change where humans usually find there is not. 

It is also good to remember setting the parameters for database read block size when comparing large database tables, it takes a lot of overhead scraping 2,500,000 records from a database server in chunks of 100 records each:

MSSQL_ADO_IN_READ_CACHE_SIZE_MSSQL_ADO
ORACLE_NONSPATIAL_IN_CHUNK_SIZE_ORACLE_NONSPATIAL

Reply