Oracle 11g to SQL Server 2016 - The given key was not present RRS feed

  • Question

  • We are migrating an Oracle 11g database to SQL Server 2016. The database consists of hundreds of tables from the vendor and hundreds of custom tables. The vendor has provided us with a "base" database with all of their tables included (but without data). When trying to migrate the data from the Oracle DB to SQL Server, we receive the error "The given key was not in the dictionary". All of the columns and data types match, except the vendor created the column names in lower case. The database and column collation is all set to case-insensitive, but SSMA still can't match the keys.

    Is there a setting to set SSMA to use lower-case columns names ... OR ... can a feature be added to SSMA to ignore case when looking for a column?

    Tuesday, May 22, 2018 12:52 PM

All replies

  • Hi JustACodeMonkey,

    Yes, I can reproduce this issue, though the database is set to case-insensitive collation.

    Please change the column name to uppercase-case manually or Click Convert SChema in SSMA.

    Based on my test, SSMA will change the lowercase of column to uppercase automatically, then SSMA will work fine.

    Perhaps this is a limitation of SSMA, I would suggest you could submit the request to SQL Server FEEDBACK. Currently, please use above methods as a workaround.

    Thanks for your understanding and support.


    Pirlo Zhang  

    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    Wednesday, May 23, 2018 7:33 AM