|
XBASe не могу прочитать таблицу | ☑ | ||
---|---|---|---|---|
0
rool
24.10.16
✎
19:54
|
Пытаюсь прочитать dbf таблицу базы данных древней проги написанной на досовском foxpro 2.6
код перебора записей: ПутьКФайлу = ПутьКБазе + "\account.dbf"; файл = Новый XBase(); файл.ОткрытьФайл(ПутьКФайлу, , Ложь); кз = файл.КоличествоЗаписей(); файл.Первая(); Пока файл.Следующая() Цикл КонецЦикла; файл.ОткрытьФайл() файл считывает вроде нормально: получаю коллекцию полей одной из строк таблицы. КоличествоЗаписей() возвращает актуальное количество строк таблицы, т.е. вроде все норм. но при любой попытке выполнить функции Первая(), Следующая() и любой другой навигации по таблице получаю возврат false, т.е. навигация нифига не работает. Кто нибудь знает из-за чего может быть такая фигня и как собственно с ней бороться? |
|||
1
Лефмихалыч
24.10.16
✎
21:23
|
А если каким-нить дбф-нафигатором открыть и пересохранить поверх?
|
|||
2
Mauser
24.10.16
✎
22:15
|
Все записи удалены и ОтображатьУдаленные = Ложь?
|
|||
3
vde69
24.10.16
✎
22:21
|
поищи мой патч реестра... выравнивание данных по DWORD
|
|||
4
vde69
24.10.16
✎
22:23
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Xbase]
"DataCodePage"="ANSI" "BDE"=dword:00000002 |
|||
5
Mauser
24.10.16
✎
23:02
|
(3) 1C не использует ни Jet, ей от этого "патча" даже не щекотно. Там внутри перепиленный CODEBASE с прямым чтением двоичных файлов.
|
|||
6
Adilgeriy
24.10.16
✎
23:11
|
(5) а выгрузить данные через фохпро в другую таблицу? там нужно данные в реальном времени? или можно перед запуском запроса запускать батник на выгрузку?
|
|||
7
Mauser
24.10.16
✎
23:13
|
(6) -> (0) =)
|
|||
8
Torquader
24.10.16
✎
23:51
|
Заголовок файла выложи (всё что в Dbf-файле до символа 0D) и можно будет понять, почему не ест - просто, несколько различные форматы были.
И читать надо не методами 1С (она сама всё делает неправильно), а через ADODB - если верно указать версию, то прочитается на Ура - было неоднократно проверено, особенно, если в файле есть индексы, а индексный файл не приложили. |
|||
9
Adilgeriy
25.10.16
✎
00:21
|
(7) прочитал. и? создаешь таблицу в том формате которая читается. средствами фокспро запускаешь копирование из твое таблицы в новую и работаешь. или как (8) через Adodb
|
|||
10
Mauser
25.10.16
✎
00:30
|
(9) Чо ты мне-то втираешь? Иди ТС буди и ему вещай.
|
|||
11
Adilgeriy
25.10.16
✎
00:51
|
(10) сори думал ты ТС:)
|
|||
12
rool
25.10.16
✎
20:19
|
(2) Спасибо, оно :)
Всем спасибо за ответы:) я уж думал XBASe фоксовские таблицы правильно не читает и ушел ADO DB курить :) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |