简体   繁体   English

链接服务器提供商问题

[英]Linked server provider issue

We have recently changed the database servers, and had to move the linkedserver setup from one server to the other.我们最近更改了数据库服务器,并且不得不将链接服务器设置从一台服务器移动到另一台服务器。

In the previous server the linked server's provider was MSDAORA and in the new server it was set to MSDASQL.在以前的服务器中,链接服务器的提供程序是 MSDAORA,而在新服务器中,它被设置为 MSDASQL。

After we move the database to the new server(with provider MSDASQL), when retrieving the data with different criteria (ascending or descending order) we are not getting the same records (different row nums).在我们将数据库移动到新服务器(使用提供程序 MSDASQL)后,当使用不同的标准(升序或降序)检索数据时,我们不会获得相同的记录(不同的行数)。

Do the different provides effect the way the data is being retrieved?不同的提供是否会影响检索数据的方式?

It's important to mention that the new environment is in 64bit flavour.值得一提的是,新环境是 64 位风格的。 That's why the old microsoft provider won't work, because it's only made for 32bit and is out of support.这就是为什么旧的 microsoft 提供程序无法工作的原因,因为它仅适用于 32 位并且不受支持。 Also better if you mention the server versions (SQL 2008 R2 and oracle client and server).如果您提及服务器版本(SQL 2008 R2 和 oracle 客户端和服务器),也会更好。

A Gentle man Tim Ford has created this manual to setup the linked server to oracle on a 64bit environment: http://www.mssqltips.com/tip.asp?tip=1433一位绅士 Tim Ford 创建了本手册以在 64 位环境中将链接服务器设置为 oracle: http://www.mssqltips.com/tip.asp?tip=1433

In his examples, I see that the provider should be "OraOLEDB.Oracle", but you have "MSDASQL", which is an ODBC provider.在他的示例中,我看到提供程序应该是“OraOLEDB.Oracle”,但您有“MSDASQL”,它是一个 ODBC 提供程序。

I've noticed someone had a similar problem with ODBC to Oracle on SQL2000: http://itknowledgeexchange.techtarget.com/itanswers/linked-server-query-returns-incomplete-results/我注意到有人在 SQL2000 上与 ODBC 到 Oracle 有类似的问题: http://itknowledge-completeresexchange.tech-target.com/it

I suggest to create a proper oracle linked server and see if that helps as pulling data through ODBC may be the problem.我建议创建一个适当的 oracle 链接服务器,看看这是否有助于通过 ODBC 提取数据可能是问题所在。 In the meantime, you might want to check the queries from the previous link adapted to your case:同时,您可能需要检查适用于您的案例的上一个链接中的查询:

select count(*) from OPENQUERY([TEST],'SELECT * FROM APICKEL.ROOMBED')
select * from OPENQUERY([TEST],'SELECT count(*) FROM APICKEL.ROOMBED')

What's the results?结果如何?

Kind regards, Rob亲切的问候,罗伯

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 在链接服务器提供程序中找不到OraOLEDB.Oracle提供程序 - Unable to find OraOLEDB.Oracle provider in the Linked Server Providers 具有Oracle的SQL Server链接服务器-问题:选择* x选择列 - SQL Server Linked Server with Oracle - Issue: Select * x Select Columns SQL Server链接服务器OLEDB挂线程-登录问题 - SQL Server Linked Server OLEDB hung threads - login issue 链接服务器“(null)”的OLE DB提供程序“MSDASQL”报告错误。 提供商未提供有关错误的任何信息 - The OLE DB provider “MSDASQL” for linked server “(null)” reported an error. The provider did not give any information about the error T-SQL:无法从链接服务器的OLE DB提供程序“ OraOLEDB.Oracle”中获取行的数据 - T-SQL: cannot get the data of the row from the OLE DB provider “OraOLEDB.Oracle” for linked server 无法从OLE DB提供程序“ ProviderName”获取链接服务器“ LinkedServerName”的行数据 - Cannot get the data of the row from the OLE DB provider 'ProviderName' for linked server 'LinkedServerName' 无法初始化链接服务器的 OLE DB 提供程序“OraOLEDB.Oracle”的数据源对象 - Cannot initialize the data source object of OLE DB provider "OraOLEDB.Oracle" for linked server 链接服务器的OLE DB提供程序“ OraOLEDB.Oracle”返回消息“ ROW-00004:无效的列数据类型” - OLE DB provider “OraOLEDB.Oracle” for linked server returned message “ROW-00004: Invalid column datatype” 链接服务器的OLE DB提供程序“ OraOLEDB.Oracle”返回消息“ ORA-06576:无效的函数或过程名称” - OLE DB provider “OraOLEDB.Oracle” for linked server returned message “ORA-06576: not a valid function or procedure name” 创建从 SQL Server 到 Oracle 的链接服务器时,无法创建 OLE DB 提供程序“OraOLEDB.Oracle”错误的实例 - Cannot create an instance of OLE DB Provider 'OraOLEDB.Oracle' error when creating linked servers from SQL Server to Oracle
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM