3 Replies Latest reply on Apr 12, 2013 6:10 PM by Denzz

    DRM Migration Client Error

      Hello All,

      I am facing an error while trying to login into the Migration client of our DRM application.

      The error that i get at the browser end is-

      Server Error An item with the same key has already been added

      At the server end this is the error that i see.

      Process ID: 2908, Thread ID: 40, SRO Engine] Error processing request. System.Exception: Error processing request. ---> System.ArgumentException: An item with the same key has already been added. at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource) at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value) at Oracle.Drm.MigrationManager.DependencyObjectCache.BuildHashtable[T](IEnumerable`1 objects) at Oracle.Drm.MigrationManager.DependencyObjectCache.LoadObjects[T](Func`1 func) at Oracle.Drm.MigrationManager.DependencyObjectCache.get_Exports() at Oracle.Drm.MigrationManager.DependencyObjectCache.GetAllObjects() at Oracle.Drm.MigrationManager.MigrationManager.Oracle.Drm.Engine.Core.IMigrationMgrShell.GetAllObjects() at Oracle.Drm.Engine.EngineShell.<GetAllObjects>b__a3() at Oracle.Drm.Engine.Core.ReaderWriterLockSlimExtensions.ReadLock[T](ReaderWriterLockSlim rwLock, Func`1 func) at Oracle.Drm.Engine.GateKeeper.Execute[T](LockType lockType, String session, Permission minimumPermission, Func`1 func, Boolean processQueue) --- End of inner exception stack trace --

      Quick help around this would be appreciated and acknowledged. :)


      Edited by: Denzz on Apr 8, 2013 6:03 PM
        • 1. Re: DRM Migration Client Error
          Got it resolved finally. Monitored the Event logs on the server and found that there was a rogue export and a validation in the Database which i could not delete from the Web Client as when i tried to delete them it gave me the same

          An item with the same key has already been added+ ERROR.

          Had to clean it up from the back end DB tables.

          Migration client works fine now.
          • 2. Re: DRM Migration Client Error
            Hi Denzz,

            What precautions were taken before deleting the data in backend tables as it is not suggested.

            Let me know the process you did for our learning.

            • 3. Re: DRM Migration Client Error

              First and foremost as you've rightly put it - It is not advised to touch the tables unless there is absolutely not other way out.

              - In my case I had to delete a validation - Now here, Validation_Definition table is primary table for validations.
              - Find out all the dependent foreign keys for the primary key I_VALIDATION_ID by getting a list of table names which have this column, you can get that by querying ALL_TAB_COLUMNS table.
              - Now take a backup of all the tables from on which you would be running a delete. e.g. CREATE TABLE TABLENAME AS SELECT * FROM (TABLENAME of the table to delete from).
              - Now you will have to follow a sequence in deleting as you would already know it... Delete first from all the foreign key tables and then finally from the Primary key table.
              - This would have some extra steps if I_VALIDATION_ID exists as a foreign key in another Primary key Table e.g. RM_EXPORT where I_EXPORT_ID is a primary key. In such cases you will have to delete the export first from the web client and then execute the deletions for corrupted validation as in this case.

              Not sure if I was clear enough... but these are the steps i took. Hope this is helpful.