Форум: "Базы";
Поиск по всему сайту: 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.017 c
6-79413           Kettle of delphi      2001-12-08 17:35  2002.02.25  
Помогите с индикатором процесса копирования!


14-79469          Lakokr                2002-01-05 03:43  2002.02.25  
Подскажите.......


3-79302           Mr.Sane               2002-01-30 12:35  2002.02.25  
TROUBLE SQLEXPLORER


7-79481           filipov               2001-11-20 17:06  2002.02.25  
Как вытащить региональные настройки???


7-79490           jolly                 2001-11-18 02:26  2002.02.25  
восстановление дискеты 1.44Мв (FAT)