Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 ОБНАРУЖЕНО РАЗРУШЕНИЕ ДАННЫХ  [new]
Bastard
Member

Откуда:
Сообщений: 55
Здравствуйте !
Есть ОГРОМНАЯ ПРОБЛЕМА, ПОМОГИТЕ ПОЖАЛУЙСТА РЕШИТЬ !!!!!

Использую я FoxPro 8.0. Использую вот такой код подгружаю в таблицу данные из файла:

Local cFilename
cFilename = GETFILE("DBF")

IF !EMPTY(cFilename)

close tables
use Substr(cFilename,RAT("\",cFilename)+1,Len(cFilename)-RAT("\",cFilename)-4) exclusive
zap

APPEND FROM (cFilename)

DO Cpzero WITH Substr(cFilename,RAT("\",cFilename)+1,Len(cFilename)-RAT("\",cFilename)),1251
DO Cpzero WITH Substr(cFilename,RAT("\",cFilename)+1,Len(cFilename)-RAT("\",cFilename)),866

ENDIF


Файлы беруться из клипперовской досовской какой-то программы.

После определенных манипуляций с таблицой в Фоксе (DELETE ... WHERE
UPDATE ..... WHERE и т.д.) беру файлы таблиц (уже поюзанные фоксом)
и кладу в директорию программки из которой изначально их взял,

ПРОБЛЕМА ЗАКЛЮЧАЕТСЯ В ТОМ, ЧТО:
программка пишет :

DBFNTX/1042 Обнаружено разрушение данных


Беру через DosNavigator просматриваю содержимое файлов через F3.
Содержимое "родных" файлов выглядит вот так:


3663780003 КАСКА 17.00000 796 0713 3663780003
3287640332 МАШИНКА ПИШУЩАЯ ЕТ 540 0.270000 796 0836 3287640332
1836952023 ПЛОМБА СВИНЦОВАЯ 0.020000 166 0121 1836952

В то время как содержимое файлов из Фокса (над которыми я уже поработал) выглядит вот так:
0¦¦dV¦ HOh e NOM1 CO
PRIZ_DEL C> O INOM1 C+ 4
KLO C` ¦ GKM Cd ¦

3187301155 РУЧКИ ОКН
450.0079604114962300001 2539409928
7275300101 3464110107 ЭЛ.ПАТРОН
1.3979610212539400903 2
.5579610219218010101 3156001331 ЧЕРВЯК 1089
РЫ 0.0279611244935120006
39.3879607188577115145 8572110423 КОСТЮМ КИС.СТ.

Вообщем билиберда какая-то :-(((((

ПОДСКАЖИТЕ ОЧЕНЬ, ОЧЕНЬ ПОЖАЛУЙСТА, КАК СДЕЛАТЬ ЧТОБЫ ПОСЛЕ РАБОТЫ НАД ФАЙЛОМА В ФОКСЕ СТРУКТУРА ФАЙЛА НЕ МЕНЯЛАСЬ ИЛИ КАК ЕЕ ВЕРНУТЬ К ПРЕЖНЕЙ СТРУКТУРЕ, ЧТОБЫ ДОСОВСКАЯ ПРОГРАММКА ЕЕ ПОНИМАЛА ??????

СПАСИБО !
14 апр 04, 04:15    [627114]     Ответить | Цитировать Сообщить модератору
 Re: ОБНАРУЖЕНО РАЗРУШЕНИЕ ДАННЫХ  [new]
golsa
Member

Откуда: Красноярск
Сообщений: 789
Сравни оглавления DBF полученных в клиппере и фоксе - за исключением даты создания и числа записей, все остальное по идее должно быть одинаково - тогда и станет клиппер дружить с фоксом.
14 апр 04, 04:38    [627115]     Ответить | Цитировать Сообщить модератору
 Re: ОБНАРУЖЕНО РАЗРУШЕНИЕ ДАННЫХ  [new]
Bastard
Member

Откуда:
Сообщений: 55
Как именно это можно сделать ??? Подскажите, пожалуйста по-подробнее ....
14 апр 04, 05:02    [627118]     Ответить | Цитировать Сообщить модератору
 Re: ОБНАРУЖЕНО РАЗРУШЕНИЕ ДАННЫХ  [new]
FM32YO aka KID
Member

Откуда: Ukraine
Сообщений: 884
1-е после ЗАП-а вроде индексы, если они были "переделываются" иными словами Клипперовские индексы слетают...
2-е ИМХО!!!! клипперовские таблицы лучше ковырять ФПД 2,6....

но на все 100% я не уверен, ибо работал при помощи ФПД 2,6 над Клипперовыми таблицами и НИКОГДА ничего не пропадало и не портилось... (интуиция?)
14 апр 04, 07:35    [627163]     Ответить | Цитировать Сообщить модератору
 Re: ОБНАРУЖЕНО РАЗРУШЕНИЕ ДАННЫХ  [new]
Bastard
Member

Откуда:
Сообщений: 55
Нет я беру файлы только с данными, т.е. dbf, а причем тут индексы ? Они то отдельно храняться и я их даже не трогаю - нет смысла, в файлах и так всего по 2000 записей !!!!
Так как все-таки можно это ПОБОРОТЬ ?????
14 апр 04, 08:28    [627198]     Ответить | Цитировать Сообщить модератору
 Re: ОБНАРУЖЕНО РАЗРУШЕНИЕ ДАННЫХ  [new]
Burn
Member

Откуда: Днепропетровск, Украина
Сообщений: 1167
Больше всего похоже на сбой или в файловой системе или при передаче по сети, когда происходит потеря какогото блока данных, с заменой его мусаром.
IMHO - надо смотреть железо, проверять не вывалился ктото из фокса просто выключив машину, не было ли аварийного отключения питания?
14 апр 04, 09:35    [627296]     Ответить | Цитировать Сообщить модератору
 Re: ОБНАРУЖЕНО РАЗРУШЕНИЕ ДАННЫХ  [new]
malec
Member

Откуда: Украина
Сообщений: 123
Попробуй перед тем как кидать таблицы в нужную дир.
COPY TO xxxxxxx.dbf as fox2x
Должно сработать
14 апр 04, 10:29    [627444]     Ответить | Цитировать Сообщить модератору
 Re: ОБНАРУЖЕНО РАЗРУШЕНИЕ ДАННЫХ  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7864
1) Устанавливать признак кодовой страницы надо ДО наполнения таблицы данными. В противном случае ты получишь полную кашу в содержимом: вводились данные в одной кодовой странице, а читаются, как находящиеся в другой

2) Индексы клиппера и FoxPro несовместимы. Это значит, что после любой модификации содержимого таблиц клиппера в среде FoxPro ты можешь получить сообщение о несоответсвии индексов в клиппере. Реально, лучше не пытаться модифицировать содержимое клипперовских таблиц в среде FoxPro или же после таких модификаций необходимо пересоздание индексов клиппера.

3) Для экспорта таблиц в другой формат можно использовать команду:

select WinTable
COPY TO DosTable.dbf TYPE Fox2x AS 866

Хотя, далеко не все форматы полей клиппера поддерживаются в FoxPro.

4) Для выделения имени файла вместе с расширением из строки существует команда JustFName(). А если нужно имя файла БЕЗ расширения, то это команда JustStem

Local lcFilename
lcFilename = GETFILE("DBF")

?JustFName(m.lcFileName)
?JustStem(m.lcFileName)
14 апр 04, 10:32    [627451]     Ответить | Цитировать Сообщить модератору
 Re: ОБНАРУЖЕНО РАЗРУШЕНИЕ ДАННЫХ  [new]
malec
Member

Откуда: Украина
Сообщений: 123
Звиняйте!
COPY TO xxxxxxxx.dbf TYPE fox2x
14 апр 04, 10:33    [627455]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить