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

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

Копирование таблицы с SQL-сервера в .dbf [D4, D5, D6, D7, MSSQL, dBase, FoxPro]


Morpheus ©   (2008-11-25 21:26:00) 

Находил похожие темы, но желательно услышать более практичный ответ.
Как перенести данные с таблицы на SQL-сервере в локальную дбф-ку с наибольшей скоростью?
Пока размер позволял, сначала создавал табличку с такими же полями и перекидывал циклом аппенды. Сейчас база разрослась, в некоторых табличках по полмиллиона записей. Видел в фоксе как-то делали сразу, результат запроса сохраняется как таблица.
Есть ли такие отимальные решения на делфе или на худой конец, может исходники ADODB кто ковырял?


sniknik   (2008-11-26 14:33:00) [1]

с чего бы это? хотя не знаю, както не приходилось пользоваться иначе чем на сервере, вот DMO приходилось, и его точно нужно ставить, т.что другие части вероятнее всего тоже.


Плохиш   (2008-11-26 14:28:00) [2]


> ну либо придется ставить ее везде на клиентах.

Разве DTS по-умолчанию не ставиться с клиентом? Не помню, просто.


sniknik   (2008-11-26 13:57:00) [3]

> С чего бы это не выполняется?
> Импортируешь его библиотеку типов
ну либо придется ставить ее везде на клиентах.


Плохиш   (2008-11-26 13:53:00) [4]


> sniknik ©   (26.11.08 12:26) [11]

> дтс (хотя одну табличку я бы предпочёл просто гетерогенным
> запросом), но тогда не выполняется условие "в локальную
> дбф-ку"

С чего бы это не выполняется?


sniknik   (2008-11-26 12:26:00) [5]

все это хорошо, и джоб и дтс (хотя одну табличку я бы предпочёл просто гетерогенным запросом), но тогда не выполняется условие "в локальнуюдбф-ку", тогда ее придется класть куда нибудь на сервере.


Ega23   (2008-11-26 10:23:00) [6]


> Импортируешь его библиотеку типов в делфи и переносишь,
> что-угодно, куда-угодно и как-угодно.


Зачем? Прямо на стороне сервера пакет формируешь, вешаешь на job и вуаля.


Плохиш   (2008-11-26 10:20:00) [7]

С MSSQL поставляется целый DTS для таких целей.
Импортируешь его библиотеку типов в делфи и переносишь, что-угодно, куда-угодно и как-угодно.


Sergey13   (2008-11-26 09:13:00) [8]

> [2] Morpheus   (25.11.08 21:53)

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


sniknik   (2008-11-25 23:42:00) [9]

ну и, ладно, примерно как запрос из акцесса к мсскл
SELECT * FROM [ODBC;DSN=MyODBCLink;UID=DB_USER;PWD=my_password;DATABASE=my_db_name;].DB_USER.T ABLE_NAME

сложить 2 примерных запроса, может быть и получится один примерно точный.


sniknik   (2008-11-25 23:39:00) [10]

> примерно
???
как хочеш. из парадокса в дбейс, очень старый запрос, как можно видеть
INSERT INTO  [dBase IV;DATABASE=D:\].[3#DBF] ([SIZE],ARTIKL) SELECT MESURIMENT, 'RUB'  FROM [Paradox 3.x;DATABASE=D:\].[3#DB]


Morpheus   (2008-11-25 22:33:00) [11]


> все делается простым гетерогеным запросом, MSSQL позволяет,
>  можно прямо из всеми любимого Query Analyzer-а. или другого
> инструмента выполняющего запросы... например ADOConnrction
> + ADOCommand положенные на форму, ну и подключенные к MSSQL
> естественно.

Каким же образом сформировать локальную таблицу? 500к записей в оперативной памяти "подтормаживать" начинают.


> тогда с "другой стороны" берем access (jet) из него два
> ISAM-а (интерфейс для тех же самых гетерогенных запросов)
> один на MSSQL другой на dbf, и опять один запрос.

Покажи запрос-то хоть примерно


sniknik   (2008-11-25 22:15:00) [12]

а ну да, локально... и с сервера наверняка доступа нет к локальным папкам, тогда с "другой стороны" берем access (jet) из него два ISAM-а (интерфейс для тех же самых гетерогенных запросов) один на MSSQL другой на dbf, и опять один запрос.


sniknik   (2008-11-25 22:09:00) [13]

> может исходники ADODB кто ковырял?
нафига тебе исходники? тем более если их кто нибудь ковырял...
все делается простым гетерогеным запросом, MSSQL позволяет, можно прямо из всеми любимого Query Analyzer-а. или другого инструмента выполняющего запросы... например ADOConnrction + ADOCommand положенные на форму, ну и подключенные к MSSQL естественно.


Morpheus   (2008-11-25 21:53:00) [14]

Это видимо какой-то инструмент по переносу данных? Тогда мне следует немного уточнить вопрос: "Как переносить данные?", а не "перенести" Это должно делается в определенные моменты работы программы.


MsGuns   (2008-11-25 21:40:00) [15]

DataPump


Наверх

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