Microsoft Linked Server实例缓存元数据以加快查询分辨率。当Progress Database驻留在远程服务器上时,无法正确刷新。
删除链接服务器实例不会删除元数据缓存。
任何新的链接服务器都会继续使用上一个链接服务器中的旧缓存。这导致了这样的错误......
OLE DB提供程序" MSDASQL"对于链接服务器"任何名称"提供不一致的元数据。执行期间提供了一个在编译时未找到的额外列。
直到有人在远程Progress DB上进行架构更改后才会出现此问题。特别是从表中删除导致上述错误的列。
我正在使用SQL Standard Edition 2012.所以,不要问懒惰架构验证。 ;)
答案 0 :(得分:1)
备份数据并删除Progress OpenEdge系统中的违规表。创建一个新表并加载数据。
现在,问题已经解决。
有什么不同?现在,SYSPROGRESS.SYSCOLUMNS中没有ID空白或Microsoft链接服务器实例缓存元数据中的序号问题。