2016-04-20 3 views
0

J'ai des données sur un serveur Sybase et je veux obtenir les données sur mon instance SQL Server. J'ai un serveur lié défini à la requête Sybase et lorsque je tente d'utiliser la convention de nommage 4 parties pour accéder aux données, je reçois l'erreur suivante:Pourquoi avons-nous besoin d'utiliser OPENQUERY pour extraire des données de Sybase vers SQL Server?

Msg 7356, Level 16, State 1, Line 1
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.

Cependant, lorsque j'utilise OPENQUERY cette erreur ne se produit pas et j'obtiens les bons résultats. Quelqu'un a-t-il une idée de comment et pourquoi cela se produit?

Répondre

0

openquery ne se soucie pas de colonnes nullable, l'erreur est essentiellement une différence dans la compilation vs plan de requête en temps réel pour le serveur lié

+0

est logique, merci! – RobertoGuzman