Добрый день уважаемые формучане
прошу помощи у гуру
Базы данных храняться в файлах с расширением DB ... (paradox db)
на форуме подсказали какой прогой можно прочитать DB (Paradox Data Editor) - все получилось ...
интересует база Debtors1.DB ... нужно в нее как то загрузить данные ...
Обращаюсь методом открыть(путь к базе, пароль пустой) - так как пароля реально нет ...
метод Открыта() сообщает 0 ... - то есть никак не могу открыть базу
Я не привязан именно к этой разработке ... мне бы любой не сложный рабочий метод ...
Вообще в Paradox Data Editor - есть импорт csv или xml - но он тоже не работает ...
вначале выгрузил csv, загузил - пишет field "Cikl" cannot be modified ....
Подскажите пжл какой нибудь рабочий метод для загрузки данных в файл Debtors1.DB (Файл прикрепил)
Вообще в Paradox Data Editor - есть импорт csv или xml - но он тоже не работает ...
вначале выгрузил csv, загузил - пишет field "Cikl" cannot be modified ....
Это потому, что поле Click - автоинкрементное, да еще и ReadOnly. Поэтому я не уверен, что даже подключившись к базе через компоненту, удастся загрузить в нее данные - из-за того же ограничения.
Но если немножко поколдовать над базой HEX-редактором, то можно изменить тип проблемного поля, импортировать в базу CSV и вернуть прежние параметры.
Конкретно - один байт по смещению 78h: меняем его с 16h на 04h (сделано в прилагаемом Debtors1.DB), импортирум Debtors2.csv и потом возвращаем 16h - результат в Debtors2.DB.
Как определено смещение и значение заветного байта? Самым универсальным методом - методом тыка, как же еще! ;-)
Хотя нет, могу: если есть проблемы с работой в HEX-редакторе, то могу загрузить присланный мне CSV в пропатченую базу, исправить байтик и выслать обратно.
Обращаюсь методом открыть(путь к базе, пароль пустой) - так как пароля реально нет ...
метод Открыта() сообщает 0 ... - то есть никак не могу открыть базу
А каким кодом подключаете компоненту? У меня не получается даже создать объект, не то что базу попытаться открыть.
(1) разобрался, нужно удалить все записи в таблице (файле Debtors1.DB) (использовал PDE).
Далее создать primary key index по полю Cikl (использовал PDE). Появится файл Debtors1.PX
Потом можно insert-ом добавить данные.
Менять данные получится через upd ate или используя ADODB.RecordSe t
Используйте мастер ODBC Windows для создания системного или файлового DSN, использующего драйвер MS ODBC для ODBC для подключения к таблице Paradox.
В вашем приложении используйте провайдер OLE DB для ODBC для использования DSN для выполнения SELECT * из таблицы P'Dox
Потом ищите "Работа с таблицами Paradox через ADO"
в который можно их импортировать программой Paradox
Каким образом подскажите пжл ???
как я писал ранее
Вообще в Paradox Data Editor - есть импорт csv или xml - но он тоже не работает ...
вначале выгрузил csv, загузил - пишет field "Cikl" cannot be modified ....
у меня не получается ... можете показать как это сделать ???
Сдается мне - причина в том же, почему импорт в Paradox Data Editor неполного CSV (без полей Click и MyClick) завершается ошибкой: "List index out of bounds (-1)".
Может, я и ошибаюсь - пусть знатоки Paradox (ежели таковые тут найдутся) помогут автору, а я пас - мой работающий метод импорта он почему-то забраковал.
очень бы хотелось бы из 1с прямо выгружать данные по долгам ... было бы очень удобно ...
А попробуйте выгрузить ваши данные в пропатченый Debtors1.DB из (2) - получится или тоже возникнет ошибка?
Если получится, то на крайний случай можно использовать "костыль" - перед импортом прямо из 1С патчить файл (записывать значение 04 в байт по смещению 120 (78h)) методами работы с двоичными данными, потом подключаться к нему через ADO, вносить данные, закрывать, снова открывать как двоичный, отменять патч (возвращать значение 22 (16h) по тому же смещению 120) и закрывать файл.