Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.09.25;
Скачать: CL | DM;

Вниз

Долгий поиск   Найти похожие ветки 

 
Marat ©   (2005-08-11 14:48) [0]

Я делаю следующее:
1. Запрос из БД Oracle.
2. Все что нашел построчно вставляю в StringGrid.
3. Проходя в цикле по строкам StringGrid делаю запрос из БД MSSQL (через представление) используя в качестве параметра значение из одной ячейки. И тут же заполняю в эту же строку нужные значения из полученных данных.
Все это работает, но очень медленно. Если из БД Oracle достать 100 срок, то все вместе осуществляется за 1,5 минуты. Причем в самих запросах нет никаких сложностей. Я пробовал поставить "стоп" и вручную пошагово пройти весь алгоритм- получается гораздо быстрее чем автоматически.
Не подскажете в чем тут проблема?


 
Sergey13 ©   (2005-08-11 14:56) [1]

А зачем тут StringGrid и/или цикл по нему?


 
ANB ©   (2005-08-11 15:05) [2]


> Marat ©   (11.08.05 14:48)
- KeepConnection проверь.


 
Marat ©   (2005-08-11 15:25) [3]

Sergey13
А в какой объект сливать два запроса из разных БД?

ANB
KeepConnection у обоих Database= true


 
Sergey13 ©   (2005-08-11 15:33) [4]

2[3] Marat ©   (11.08.05 15:25)
Таблица в памяти (типа RxMemoryData) или в клиентский датасет например.


 
Виталий Панасенко   (2005-08-11 15:37) [5]

А если использовать БДЕ  гетерогенные запросы ?


 
Anatoly Podgoretsky ©   (2005-08-11 15:38) [6]

В компонент xxxQuery, про UNION слышал?


 
Nikolay M. ©   (2005-08-11 15:51) [7]

Какой ужас... :(

Может, прилинковать оракл к мс скл linked-server-ом кошернее будет?


 
Fay ©   (2005-08-11 15:51) [8]

2 Marat ©   (11.08.05 14:48)
Возьми все значения из StrigGrid. Запихай в запрос, верни набор данных, дополни StringGrid


 
Marat ©   (2005-08-11 15:51) [9]

Не убирайте пожалуйста этот вопрос до завтра. У нас рабочий день кончился.


 
ANB ©   (2005-08-11 15:54) [10]


> Nikolay M. ©   (11.08.05 15:51) [7]
- тоже не фонтан. И глюков много.
Автору : Засеки время выполнения одного запроса из MS SQL. Долговато у тебя что то. Кстати, в стринг грид можно не складывать - тебя никто не заставляет закрывать дейтасет после выполнения запроса из оракла и гулять по нему курсором.


 
Nikolay M. ©   (2005-08-11 16:01) [11]


> ANB ©   (11.08.05 15:54) [10]
> - тоже не фонтан. И глюков много.

Первое - да, но что делать. Второе - при наличии curvehands.sys :)


 
ANB ©   (2005-08-11 16:05) [12]


> Nikolay M. ©   (11.08.05 16:01) [11]
- не скинешь инструкцию по созданию db link оракл - ms sql ? Мы ставили, но потом при работе полно глюков и чуть что не так сделал - все виснет.


 
Nikolay M. ©   (2005-08-11 16:13) [13]


> ANB ©   (11.08.05 16:05) [12]

Не скину :(
Когда на sql.ru поиск по форумам заработает, тогда м.б. :)


 
Slym ©   (2005-08-12 05:01) [14]

Как к ораклу цепляешся?
1. Prepared:=true;
2. Requery+Parameters вместо Open/Close+изменение Sql;
3. Делать все в 1 запросе (JOIN)
4. DBGrid вместо StringGrid (это к производительности не относится)


 
Slym ©   (2005-08-12 05:03) [15]

Не заметил что базы разнобокие... Тогда 3 частично (через линк)


 
Marat ©   (2005-08-12 07:20) [16]

Из всего сказанного придумал так:
Сейчас пробую засунуть все из первого запроса в массив. Потом пробежаться по массиву 2 запросом. И только потом все из массива засунуть в StringGrid. Интересно, так быстрее будет или нет?


 
Marat ©   (2005-08-12 07:57) [17]

Ого! Ребята, работай со свистом!!!



Страницы: 1 вся ветка

Текущий архив: 2005.09.25;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.048 c
1-1125487181
Пономарев Андрей
2005-08-31 15:19
2005.09.25
Числа с плавающей точкой


4-1122898897
MegaVolt
2005-08-01 16:21
2005.09.25
Ручное стирание ListView


6-1117704753
Marabunt
2005-06-02 13:32
2005.09.25
Файл FTPDemo.dpr


11-1107350382
Борис
2005-02-02 16:19
2005.09.25
MSK


1-1125566083
Defunct
2005-09-01 13:14
2005.09.25
Как бороться с таким вот исключением?