Переключение на Главную Страницу Страницы: 1 [2]  ОтправитьПечать
Горячая тема (более 10 ответов) Помогите: один запрос к MS SQL и Oracle (число прочтений - 6879 )
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Помогите: один запрос к MS SQL и Oracle
Ответ #15 - 16. Апреля 2008 :: 15:30
Печать  
Цитата:
Сам оракловский запрос в данном случае выполняется вроде на удаленном сервере?

Да конечно но все парамтры для запроса берутся с локального сервера. А это означает копирование всех параметров на удаленный сервер и невозможность использования локальных индексов
  
Наверх
ICQ  
IP записан
 
Kapet
Senior Member
****
Отсутствует


Ламер - вансист

Сообщений: 262
Местоположение: Ukraine, Kyiv
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Re: Помогите: один запрос к MS SQL и Oracle
Ответ #16 - 16. Апреля 2008 :: 15:40
Печать  
Nick писал(а) 16. Апреля 2008 :: 15:30:
Цитата:
Сам оракловский запрос в данном случае выполняется вроде на удаленном сервере?

Да конечно но все парамтры для запроса берутся с локального сервера. А это означает копирование всех параметров на удаленный сервер и невозможность использования локальных индексов

Ввиду полнейшей безграмотности в предметной области распределенных запросов и оракловских базах данных я могу только учесть Ваши рекомендации и замечания в процессе дилетантских попыток скрестить козла с паровозом с большой долей благодарности за проявленное участие в решении моей проблемы.
Завтра попробую получить большую выборку из таблицы с кол-вом записей кажется более миллиона. Это уже будет информация для размышления. О результатах доложу  Улыбка
  
Наверх
ICQ  
IP записан
 
Kapet
Senior Member
****
Отсутствует


Ламер - вансист

Сообщений: 262
Местоположение: Ukraine, Kyiv
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Re: Помогите: один запрос к MS SQL и Oracle
Ответ #17 - 17. Апреля 2008 :: 10:42
Печать  
Спасибо ВСЕМ!
Собственно говоря вроде получил всё, что хотел.
Вот пример работающего запроса из MS SQL Query Analyser одновременно к ораклу и базе 1С на мелкомягком скуле:
Код
Выбрать все
set statistics time on
set nocount on
select
  ORCL.ABLG_NO
, ORCL.ADT
, ORCL.ABAY_TO
, ORCL.ADART_NO
, ORCL.ADART_DESCR
, ORCL.APRICE
, ORCL.AQTY
, tmz.descr as ТМЦ
from
  OPENQUERY(ORA, '
select
  TRANS.blg_no AS ABLG_NO
, trunc(TRANS.reserve_dt,''DDD'') AS ADT
, SUPL.BAY_TO AS ABAY_TO
, TRANS.dart_no AS ADART_NO
, TRANS.dart_desc AS ADART_DESCR
, to_char(TRANS.dart_price,''999999999.99'') as APRICE
, sum(TRANS.qty) as AQTY
from
  DS_PURCH PURCH
, DS_TRANS TRANS
, DS_SUPL SUPL
where
PURCH.purchase_no = TRANS.purchase_no and
PURCH.purchase_seс = TRANS.purchase_seс and
TRANS.supl = SUPL.supl
and trunc(TRANS.reserve_dt,''DDD'') between  to_date(''16.04.08'',''DD.MM.YY'') and  to_date(''16.04.08'',''DD.MM.YY'')
group by TRANS.reserve_dt, TRANS.blg_no, SUPL.BAY_TO, TRANS.dart_no,  TRANS.dart_desc, TRANS.dart_price
') as ORCL
left join
  [account_db].[dbo].sc148 as tmz(nolock) on tmz.descr = ORCL.DART_NO 


и его статистика:
Код
Выбрать все
SQL Server parse and compile time:
   CPU time = 0 ms, elapsed time = 2575 ms.
SQL Server Execution Times:
   CPU time = 0 ms,  elapsed time = 0 ms.
SQL Server Execution Times:
   CPU time = 0 ms,  elapsed time = 0 ms.
SQL Server Execution Times:
   CPU time = 0 ms,  elapsed time = 1467 ms. 


Я не уверен, что это - именно "распределенный" запрос, но на 90% мне потребуется строить именно такие, т.е. что-то забрать из оракла, потом найти определенные соответствия полученным данным в базе 1С, и, наконец, выложить всё вместе в ТЗ как поставщик данных для ТП (или другое). Получается значительно проще и быстрее, чем крутить с двумя запросами и промежуточными преобразованиями/вычислениями. За что и боролись...
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 
ОтправитьПечать