Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Выборка данных из сервера в локальные таблицы


Hermit ©   (2002-01-30 12:40:00) 

Необходимо выборочно выгрузить данные из сервера и записать в dbf файл. Сейчас делаю через Query выборку, а затем построчно пробегаюсь по Query и добавляю в локальную таблицу. Можно ли както-то более красиво решить эту задачу?


GorA   (2002-01-31 10:02:00) [1]

>О TBatchMove знаю, но Select у меня выбирает не все данные из таблиц...


unit DBTables;

TBatchMove = ...
...
property Source: TBDEDataSet;
...
end;

TQuery = class(TDBDataSet)
...
TDBDataSet = class(TBDEDataSet)


Удачи


Ptiza   (2002-01-31 09:21:00) [2]

Есть такое понятие "гетерогенные запросы" (получение данных
из разных БД). BDE позволяет создавать такие запросы.
Выглядят они примерно так :
INSERT INTO ":DBFALIAS:TABLENAME"
SELECT * FROM ":SERVERALIAS:TABLENAME" и после выполнения
запроса чудо произойдет ! Хотя вариант Kouzmineболее
привычен .


Nest   (2002-01-31 09:15:00) [3]

2Hermit:
Вообще у тебя нормальный вариант.

Насчёт " Каким образом я смогу комбинировать Insert & Select, если выборку я делаю с сервера, а данные записываю в локальную таблицу?"
Это делается очень легко:
insert into loc_tabl select * from ":serv_alias:serv_tabl"
Я так перекидываю данные между сервером и локальной БД.
Но подозреваю, что связка через псевдоним - медленнее.

То Kouzmine:
TBatchMove не советую юзать в любом случае - он время от времени глючит на НТ-машинах


Alexandr   (2002-01-31 08:04:00) [4]

2Hermit
а ты как хотел? Чедес-то не бывает


Hermit   (2002-01-30 17:50:00) [5]

To Hawk2: Каким образом я смогу комбинировать Insert & Select, если выборку я делаю с сервера, а данные записываю в локальную таблицу? Неувязочка получится с указанием алиасов.

То Kouzmine: О TBatchMove знаю, но Select у меня выбирает не все данные из таблиц, а только те, фильтр на которые накладывает пользователь в клиентском приложении. Поэтому даже создание view, а потом выгрузка данных из него здесь не подходит.

To Alexandr: Некрасиво то, что приходится результат выборки пробегать построково, записывая каждую строку в таблицу.


Hawk2   (2002-01-30 14:13:00) [6]

Если ты делаешь виборку через Query то можно комбинировать запрос INSERT и SELECT. Выходит довольно неплохо.


Kouzmine   (2002-01-30 12:57:00) [7]

Используй TBatchMove. Создание 142 Мг файла 10 минут, а то и меньше


Alexandr   (2002-01-30 12:45:00) [8]

а так чем некрасиво?


Наверх

Титульная страница Поиск, карта сайта Написать письмо