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?

1 Answer 1


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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.