title: Why doesn't SQL Server tell me which field is causing the error?
body: <p>When doing a sql insert, it may fail because one of the fields will fail to validate. There is a variety of validations that may fail. For example I have recently seen:</p>
  
  <pre><code>[22003] [Microsoft][ODBC SQL Server Driver][SQL Server]Arithmetic overflow error converting varchar to data type numeric. (8115)
  </code></pre>
  
  <p>and</p>
  
  <pre><code>[22001] [Microsoft][ODBC SQL Server Driver][SQL Server]String or binary data would be truncated. (8152)
  </code></pre>
  
  <p>It is quite frustrating to go hunting for the troublesome field when you have many columns and are inserting many rows at a time with prepared statements. Why can't Sql Server tell me which field is problematic? Please note I am not looking on how to solve these individual errors, but rather a more fundamental question why better error messages are not implemented.</p>
  
  <p>Edit: <a href="https://stackoverflow.com/questions/9878645/why-cant-sql-server-tell-me-which-column-is-causing-the-error">Why can't SQL Server tell me which column is causing the error</a> that this is being marked a duplicate off doesn't actually answer the question. The accepted answer there doesn't address the question so putting a bounty on it will do nothing.</p>