title: error MIDL2003: redefinition when compiling ATL generated idl with windows.h and sql.h included
body: <p>As part of a requirement, I had to include <code>sql.h</code> and <code>windows.h</code> in an ATL generated idl.
  Unfortunately, it keeps on complaining when  <code>sql.h</code> is included</p>
  
  <pre><code>1&gt;c:\program files (x86)\windows kits\8.0\include\um\sqltypes.h(125): error MIDL2003: redefinition : SQLSCHAR
  1&gt;c:\program files (x86)\windows kits\8.0\include\um\sqltypes.h(131): error MIDL2003: redefinition : SQLUINTEGER
  </code></pre>
  
  <p>And when <code>windows.h</code> is included it complains</p>
  
  <pre><code>1&gt;C:\Program Files (x86)\Windows Kits\8.0\Include\um\winnt.h(347): error MIDL2003: redefinition : INT
  1&gt;C:\Program Files (x86)\Windows Kits\8.0\Include\um\winnt.h(832): error MIDL2003: redefinition : Int64ShllMod32
  1&gt;C:\Program Files (x86)\Windows Kits\8.0\Include\um\winnt.h(832): error MIDL2025: syntax error : expecting ; near "{"
  </code></pre>
  
  <p><strong>Note</strong> I am creating a COM wrapper over ODBC because of which I need to include these files in my generated idl</p>