![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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, сделай импорт и тут же экспорт в другом формате, всегото делов.