SQL Packager 5.3 chokes on database compare

mscheunermscheuner Posts: 57
edited June 14, 2007 12:03PM in SQL Packager Previous Versions
Folks,

I have two copies of my database, a current PROD version and the new version to be deployed. I tried to use SQL Packager 5.3 to create the upgrade script, but it keeps crashing on me.

I can pick the current and previous version of the database (SQL Server 2005 SP2), and SQL Packager compares the two just fine. I then pick the stuff I want scripted out, and SQL Packager starts creating the scripts. At about the fifth table or so, it briefly pauses, and then an error message box occurs

SQL Packager 5 has enconutered a problem and needs to close. We are sorry for the inconvenience.

I then get a prompt to start debugging is VStudio or CLR Debugger, and there's a tad more information there:

"An unhandled exception of type System.ArgumentException occured in RedGate.SQLDataCompare.Engine.dll.
An entry with the same key already exists"

Unfotunately, nothing gets logged (log file, event log).

What's up? :-)

Greetings,
Marc

Comments

  • Brian DonahueBrian Donahue Posts: 6,590 Bronze 1
    Hi,

    Thanks for your post. Most commonly, this error will happen because you are packaging a case-sensitive database and you have not set the 'treat items as case-sensitive' option in Packager's schema options. The error alludes to two objects with the same name going into the schema collections. Treating items as case-sensitive should fix the problem in this case.
  • Brian,

    Thanks for your response - I tried setting that option, but that doesn't help - I still get the same error at the same place in the process.

    Any further ideas?
  • Brian DonahueBrian Donahue Posts: 6,590 Bronze 1
    The root of the problem remains the same -- there are two objects with the same name in the database, or at least the engine thinks so.

    What is the last status message diaplayed by Packager? At least this would give a clue which type of object is causing the problem.
  • Hi Brian,

    Is there any way I can turn on additional logging or something to figure out WHICH object is there twice, supposedly?

    Also, if you're using Hashtable or something similar, I'd suggest checking whether something already exists, and if it does, throw a custom exception that contains the info of WHAT is being added a second time.

    Cheers!
    Marc
  • Brian DonahueBrian Donahue Posts: 6,590 Bronze 1
    Hi Marc,

    Sorry, no. None of the programs in the bundle create any usable logs. This is incredibly frustrating for the both of us.
Sign In or Register to comment.