Why can't I insert timestamps with sub-millisecond fractions in to Microsoft SQL Server datetime field?

Microsoft SQL Server only does millisecond accuracy (precision of 3) on datetime columns, so anything sub-millisecond tends to generate an error such as "22008 [Microsoft][ODBC SQL Server Driver]Datetime field overflow." As the fraction part of a timestamp can range from 0 to 999,999,999, you need to specify the fraction in thousandths of second.

If you're using column-wise bound parameters to insert a timestamp into a datetime field, make sure the ColumnSize is set to 23.