Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / All-Topics

All Your Databases Belong To Us

5.00/5 (1 vote)
7 Sep 2013Apache1 min read 6.1K  
All your databases 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 it 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.

License

This article, along with any associated source code and files, is licensed under The Apache License, Version 2.0