Problem whilst saving project

jmoldoverjmoldover Posts: 8
edited July 10, 2006 9:24AM in SQL Dependency Tracker
I'm in the process of evaluating Dependency Tracker (and so far am very impressed) but I'm getting an error when I attempt to save diagrams that include one of our servers, as follows:

"An error occurred whilst saving your project:

Found a high surrogate char without a following low surrogate at index: 5. The input may not be in this encoding or may not contain valid Unicode (UTF-16) characters.
Parameter name: chars"

I am able to save projects that don't include this server, so it doesn't appear to be a universal bug, but there isn't anything unusual that I can see about the server that seems to be giving the program a problem. All of our servers are using SQL2000, and either Windows Server2000 or 2003.

Any suggestions?

Joshua Moldover
DBA, Infinity Data Corp

Comments

  • Hi Joshua,

    Would you be able to migrate one of the databases from the server you're having problems with to a different server and then try to save a project containing it?

    Thanks
    Alan.
  • I've been able to narrow down (sort of) the problem somewhat - it doesn't appear to be server related, since it occurs with databases on two different servers, but it doesn't occur with all of the databases on the server. It seems to happen with one particular database on each of two servers. There are relationships between the two databases, but some or all (in various instances) of those relationships are also shared with other databases that aren't causing the problem. I've tried selectively removing items from the diagram one at a time to see if I can isolate the issue to a specific database item, but so far I've had no luck...

    Any suggestions as to the next step?

    Joshua Moldover
    DBA, Infinity Data Corp
  • I've seen this behaviour in the data compare product sometimes. What happens is that you can insert binary data into a string field in a database but no check is performed on the binary data to make sure that it is valid unicode. So what happens is we read the information from the database and store it in a temporary file and when we go to read that temporary file it tried to interpret the unicode and fails.

    It's a known 'feature' of the classes we use for temporary file storage in .NET 1.1. There is no workaround currently but to find the offending string and fix it or remove it from the project.

    Hope this explains what is going on at least.
    Richard Mitchell
    Project Manager
    Red Gate Software Ltd
  • Any hints to speed up finding the offending code?
  • Unfortunately we don't have a really quick way for you to find the offending string. The best place to start looking is probably any extended properties you have in your database.

    Alan.
  • Joshua,

    Any chance we can get hold of your database? If so, can you back it up, zip it up and e-mail it to me at neil.davidson@red-gate.com

    Thanks,

    Neil
    - Neil Davidson
    Red Gate Software Ltd
  • I sent a copy to Alan Wallace - as it happens, the hint regarding extended properties pointed me in the right direction - there were several tables with column properties involving GUID that had non-unicode strings. I removed the extended properties (actually had to recreate the tables without them), and everything worked fine.

    Thanks for the assistance.

    Joshua Moldover
    DBA, Infinity Data Corp
Sign In or Register to comment.