title: Why do we need to use OPENQUERY to pull data from Sybase to SQL Server?
body: <p>I have data on a Sybase server and want to get the data to my SQL Server instance. I have a linked server defined to the Sybase query and when I try to use the 4 part naming convention to access the data, I get the following error:</p>
  
  <blockquote>
    <p>Msg 7356, Level 16, State 1, Line 1<br>
    The OLE DB provider "MSDASQL" for linked server "[Sybase Instance]" supplied inconsistent metadata for a column. The column "COL1" (compile-time ordinal 10) of object "[Table on Sybase Instance]" was reported to have a "DBTYPE" of 131 at compile time and 6 at run time.</p>
  </blockquote>
  
  <p>However, when I use <code>OPENQUERY</code> this error does not occur and I get the correct results. Anybody have any insight as to how and why this happens?</p>