(I hate titles)

TL;DR: I didn't add the exception feature we talked about...

...because pyodbc will throw a ProgrammingError for us; the error message is a little bit confusing("error converting numeric to varchar") but trying to catch the exception and change the message might introduce some other problems.
(yes, 576 additions and 66 deletions -- don't worry; one half of them are tests.)
![16-120330143102-50](https://f.cloud.github.com/assets/328191/882881/c9746890-f96d-11e2-84cb-bd9088fcf372.gif)