All your database are belong to us

Just tried to import some data from Excel into SQL Server. Got the following error message:

You have selected to skip 4 potential lost column conversion(s). You are only allowed to save the package

AllYourDatabaseBelongToUs
(column names were blurred to protect the innocent)

This message, ladies and gentlemen, is a work of art. First, it lies. I did not “select” to skip anything. I left everything at default. Second, it misleads. There is no such thing as “lost column conversion”. And in manages to do that in only ten short words. (I don’t count the second sentence, which neither lies nor misleads. It might be a little rude, but it is factually correct).

What they meant to say is that automatically converting four of my columns may lead to loss of data. These are the four for which the wizard (and not I) turned the “Convert” checkbox off. If I want to force conversion, I need to turn the checkboxes on. If I don’t do that, they won’t agree to run my package, and I can only save it.

I would not be surprised to see such error message in internal bank software. It is written mostly by foreign born programmers (myself included) and undergoes little or no usability checks. But seeing this kind of thing in one of the flagship Microsoft products is still baffling.

Good error message should clearly explain the root cause and provide information on possible fix. For instance,

Converting the following columns to destination data types may lead to loss of data: fooColumn, barColumn, bazColumn. If you wish to run the package anyway, turn on "Convert" checkbox for those columns and click "Next". Otherwise, you will only be able to save the package.

Yes, it is much longer, but at least it tells you what exactly happened and what can be done about it.

Leave a Reply

Your email address will not be published. Required fields are marked *