Проблема со связанным провайдером сервера - PullRequest
2 голосов
/ 16 августа 2011

Недавно мы изменили серверы баз данных, и нам пришлось перенести настройку связанного сервера с одного сервера на другой.

На предыдущем сервере поставщиком связанного сервера был MSDAORA, а на новом сервере было установлено значение MSDASQL.

После перемещения базы данных на новый сервер (с поставщиком MSDASQL) при полученииданные с разными критериями (в порядке возрастания или убывания) мы не получаем одинаковые записи (разные номера строк).

Влияет ли различный эффект на способ извлечения данных?

1 Ответ

1 голос
/ 16 августа 2011

Важно отметить, что новая среда в 64-битной версии. Вот почему старый провайдер Microsoft не будет работать, потому что он предназначен только для 32-разрядных и не поддерживается. Также лучше, если вы упомянете версии сервера (SQL 2008 R2 и клиент и сервер Oracle).

Джентльмен Тим Форд создал это руководство для настройки связанного сервера с оракулом в 64-битной среде: http://www.mssqltips.com/tip.asp?tip=1433

В его примерах я вижу, что провайдер должен быть "OraOLEDB.Oracle", но у вас есть "MSDASQL", который является провайдером ODBC.

Я заметил, что у кого-то была похожая проблема с ODBC для Oracle на SQL2000: http://itknowledgeexchange.techtarget.com/itanswers/linked-server-query-returns-incomplete-results/

Я предлагаю создать правильный сервер, связанный с оракулом, и посмотреть, поможет ли это, поскольку проблема может заключаться в извлечении данных через ODBC. А пока вы можете проверить запросы по предыдущей ссылке, адаптированной к вашему случаю:

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

Каковы результаты?

С уважением, Роб

...