SSMA from oracle xe to sql server express PK violation

ssma

I'm using SSMA for the first time trying to migrate an Oracle XE schema to SQL Server Express. The majority of the tables get created and their data migrated just fine. There are a handful of tables though that keep giving me primary key violation.

It tells me the duplicate key value, but when I query the Oracle table for that key there is only 1 record (which makes sense since it has the PK on it).

I'm trying to figure out what I could be missing here because this can't be the real error. I mean the oracle table has the PK on it so it can't, and doesn't, have a duplicate value. So why is SSMA giving me seemingly a false error on this when clearly the source oracle table doesn't have this duplicate key in it?

Best Answer

I figured it out. The difference was casing of the varchar PK. Oracle sees casing as different but SQL must not. There was some value with a capital 'S' and a lowercase 's' where everything else was the same. That's interesting.