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

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

TCliemtDataSet, XML, перенос "больших" объемов инфы из FOX в dBas [D6, dBase, FoxPro]


Алексей ©   (2004-09-22 22:02:00) 

После подсказки
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1095658526&n=1

рыл 2 дня, но так и не разобрался КАК запихнуть инфу, полученную одним запросом и сохраненную в xml-файл, в пустую таблицу, структура которой соответствует структуре xml-файла.


sniknik   (2004-09-23 14:47:00) [1]

> ADOQuery1 который берет инфу из FOX - таблиц.
конект к чему? раз типы баз не указываеш то хоть там посмотреть.

> ADOTable1 - указывает на dBase пустую таблицу.
конект?
строки коннекта выложи.

решение (одно из)
первое, забудь про hml, забыл? тогда давай дальше
делаеш базу access, заходиш "унутрь", делаеш связь - в меню Файл->Внешние Данные->Связь с таблицами... выбираеш ODBC и в нем DSN "Visual FoxPro Tables" путь в нем должен стоять к твоим фоксовским таблицам, выбираеш одну (предположим TableFox)
дальше прямо в аксессе (или из дельфей при подключении к этой базе) выполняеш запрос
SELECT * INTO TableDbase IN "D:\" "dBASE IV;" FROM TableFox
все сконвертировали.

(но! только если у тебя действительно фоксовая таблица а не твои собственные "заморочки" с подключением, если так, то тебе добавятся заморочки с кодовыми таблицами ;о))


Johnmen   (2004-09-23 13:49:00) [2]

>BDE отказывается работать с файлами больших размеров : > 500 мегабайт :-(

???
http://www.delphiworld.narod.ru/base/bde_limits.html


Алексей   (2004-09-23 13:27:00) [3]

BDE отказывается работать с файлами больших размеров : > 500 мегабайт :-(

Да и начинает ругаться на индексные файлы.....


Johnmen   (2004-09-23 13:13:00) [4]

>запихиваю полученные данные в таблицу dBase по одной записи.
>Все работает, но долго.

Значит запихиваешь кривовато...:)
А если приложишь БДЕ, то вообще всё в один запрос получится...


Алексей   (2004-09-23 12:57:00) [5]

Инфа:Получаю запросом к нескольким таблицам Fox набор данных (ок 9000 записей). Потом этот запрос перебираю по строчкам и запихиваю полученные данные в таблицу dBase по одной записи.
Все работает, но долго.
Вот и решил попробовать.
На форму кинул:
ADOQuery1 который берет инфу из FOX - таблиц.
ADOTable1 - указывает на dBase пустую таблицу.
DataSetProvider1 - datasourse=ADOQuery1
ClientDataSet1 -  ProviderName=DataSetProvider1
В ClientDataSet1 получил данные из ADOQuery1.
Сохранил их в файле:ClientDataSet1.SaveToFile('c:\123.xml',dfXML);
DataSetProvider2 - datasourse=ADOTable1
ClientDataSet2 -  ProviderName=DataSetProvider2
В ClientDataSet2 ЗАГРУЖАЮ из файла:ClientDataSet2.LoadFromFile('c:\123.xml');

И дальше что делать - только другого программиста нанимать......:-(


sniknik   (2004-09-23 11:18:00) [6]

> Рассказываю еще раз:
спасибо большое, чтобы мы без ваших рассказов делали бы. мемуары когда? ждем`с.

> Уже ...
> ...
> ... тоже самое.
эмоции это не инфа. инфу давай. (пока еще интерес есть)

> Вот и приходится ...
не надо, лучше возмите на работу программиста.


Romkin   (2004-09-23 10:26:00) [7]

ДА возьми ты TClientDataset с провайдерами, один - на источник, второй - куда писать. Открываешь, и через второй провайдер закачиваешь


Val   (2004-09-23 10:23:00) [8]

>[2] Алексей   (23.09.04 09:20)

> Рассказываю еще раз:

Ну спасибо огромное, что снизошли и так объемно раскрыли проблему.
Ответы типа RTFM вам нравятся?


Алексей   (2004-09-23 09:20:00) [9]

Рассказываю еще раз:
Уже существующая торговая система на Fox`е.
Купленное новое оборудование получает/выдает информацию в формате dBase. Надо "подружить" новое оборудование и торговую систему.
При попытке скормить оборудованию файл Fox`а - его "тошнит".
В обратном направлении - тоже самое.

Вот и приходится вы...ся.  :-(


sniknik   (2004-09-22 23:55:00) [10]

бред какойто. зачем hml? побаловаться?
FoxPro(старый) это то же самое, что dBase, а hml нечто совсем другое. тебе скорее всего пойдет простое копирование таблиц для "переноса".

не можеш сам (на случай новых отличающихся форматов), доверь это дело другому, например программе access, сделай импорт и тут же экспорт в другом формате, всегото делов.


Наверх

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