为什么我们需要使用OPENQUERY将数据从Sybase提取到SQL Server?

时间:2016-04-20 16:04:06

标签: sql-server sybase linked-server openquery

我在Sybase服务器上有数据,想要将数据传送到我的SQL Server实例。我有一个定义到Sybase查询的链接服务器,当我尝试使用4部分命名约定来访问数据时,我收到以下错误:

  

Msg 7356,Level 16,State 1,Line 1
  链接服务器“[Sybase Instance]”的OLE DB提供程序“MSDASQL”为列提供了不一致的元数据。对象“[Sybase实例上的表]”的“COL1”列(编译时序号10)报告在编译时具有131的“DBTYPE”,在运行时具有6的“DBTYPE”。

但是,当我使用OPENQUERY时,不会发生此错误,我会得到正确的结果。任何人都对如何以及为何发生这种情况有任何见解?

1 个答案:

答案 0 :(得分:0)

openquery不关心可空列,错误基本上是链接服务器的编译时间与实时查询计划的差异