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

Вниз

Копирование таблицы с SQL-сервера в .dbf   Найти похожие ветки 

 
Morpheus   (2008-11-25 21:26) [0]

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


 
MsGuns ©   (2008-11-25 21:40) [1]

DataPump


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

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


 
sniknik ©   (2008-11-25 22:09) [3]

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


 
sniknik ©   (2008-11-25 22:15) [4]

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


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


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

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


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

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


 
sniknik ©   (2008-11-25 23:39) [6]

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


 
sniknik ©   (2008-11-25 23:42) [7]

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

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


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

> [2] Morpheus   (25.11.08 21:53)

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


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

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


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


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


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


 
sniknik ©   (2008-11-26 12:26) [11]

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


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


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

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

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


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

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


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


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

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


 
sniknik ©   (2008-11-26 14:33) [15]

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



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

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

Наверх




Память: 0.5 MB
Время: 0.012 c
2-1247846262
datorn
2009-07-17 19:57
2009.09.27
Эффект падающих цифр


6-1207390865
Max
2008-04-05 14:21
2009.09.27
UDP


15-1248667367
ganda
2009-07-27 08:02
2009.09.27
убить программу, если выполнение процедуры затянулось


3-1227637609
Morpheus
2008-11-25 21:26
2009.09.27
Копирование таблицы с SQL-сервера в .dbf


1-1216893151
Mr.Frog
2008-07-24 13:52
2009.09.27
resize компнента run-time мышью