我们最近更改了数据库服务器,并且必须将链接服务器设置从一台服务器移动到另一台服务器。
在之前的服务器中,链接服务器的提供者是MSDAORA,在新服务器中,它被设置为MSDASQL。
在我们将数据库移动到新服务器(使用提供者MSDASQL)之后,当检索具有不同条件(升序或降序)的数据时,我们没有获得相同的记录(不同的行号)。
不同的方法是否会影响数据的检索方式?
答案 0 :(得分:1)
值得一提的是,新环境的风格是64位。这就是为什么旧的微软提供商将无法工作的原因,因为它仅用于32位并且不受支持。如果你提到服务器版本(SQL 2008 R2和oracle客户端和服务器),也会更好。
一个温柔的人Tim Ford创建了这本手册,在64位环境中将链接服务器设置为oracle:http://www.mssqltips.com/tip.asp?tip=1433
在他的示例中,我看到提供程序应该是“OraOLEDB.Oracle”,但是您有“MSDASQL”,这是一个ODBC提供程序。
我注意到有人在SQL2000上使用ODBC与Oracle有类似的问题:http://itknowledgeexchange.techtarget.com/itanswers/linked-server-query-returns-incomplete-results/
我建议创建一个合适的oracle链接服务器,看看是否有帮助,因为通过ODBC提取数据可能是个问题。在此期间,您可能希望检查适合您案例的上一个链接中的查询:
select count(*) from OPENQUERY([TEST],'SELECT * FROM APICKEL.ROOMBED')
select * from OPENQUERY([TEST],'SELECT count(*) FROM APICKEL.ROOMBED')
结果是什么?
亲切的问候,Rob