Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.25;
Скачать: [xml.tar.bz2];




Вниз

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


Hermit   (2002-01-30 12:40) [0]

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



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

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



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

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



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

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



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

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

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

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



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

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



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

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

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

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



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

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



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

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


unit DBTables;

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

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


Удачи




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.25;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.013 c
3-79284           SelfDestructor        2002-01-30 18:28  2002.02.25  
Игнорирование строк запроса к таблице


14-79446          Aleksandr             2002-01-08 15:16  2002.02.25  
Как выдернуть из упаковки инсталлшилда файлы?


1-79371           Aleksandr             2002-02-08 19:23  2002.02.25  
Как из программы узнать формат строки с датой/временем для SQL-сервера


1-79362           DJ X                  2002-02-08 16:20  2002.02.25  
Icons in WinXP style


1-79318           Aleksey_K             2002-02-07 17:22  2002.02.25  
Помогите пожалуста