powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / порча dbf файла
10 сообщений из 10, страница 1 из 1
порча dbf файла
    #36084712
tat-y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может кто нибудь подскажет от чего может портиться dbf таблица? Файл лежит на сервере (novell6.5) и работаем с Foxpro2.6. В один прекрасный момент блок данных размером 64К заполняется двоичными нулями.
...
Рейтинг: 0 / 0
порча dbf файла
    #36084726
tat-yМожет кто нибудь подскажет от чего может портиться dbf таблица? Файл лежит на сервере (novell6.5) и работаем с Foxpro2.6. В один прекрасный момент блок данных размером 64К заполняется двоичными нулями.Скрвер, сеть, дрова сетевых устройств.
...
Рейтинг: 0 / 0
порча dbf файла
    #36084737
tat-y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проходящий.,
Всё работает на этом железе уже год и только в последние два месяца такая лажа с двумя большими таблицами. До этого работало на другом железе 7 лет.
...
Рейтинг: 0 / 0
порча dbf файла
    #36084742
tat-yпроходящий.,
Всё работает на этом железе уже год и только в последние два месяца такая лажа с двумя большими таблицами. До этого работало на другом железе 7 лет.И это говорит о том, что такое железо больше никогда не может сломаться? Вы собираетесь гаданиями заниматься или искать реальные причины?
...
Рейтинг: 0 / 0
порча dbf файла
    #36084751
tat-y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может проблемы с какой-то клиентской станцией, а не с сервером?
...
Рейтинг: 0 / 0
порча dbf файла
    #36084774
tat-yМожет проблемы с какой-то клиентской станцией, а не с сервером?Как Вы думаете, для чего в моем списке упоминались дрова сетевых устройств? Или сетевые устройства только на сервер могут быть?
...
Рейтинг: 0 / 0
порча dbf файла
    #36085066
QUn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QUn
Гость
А еще обиженный разработчик написал подлость и вот она выплыла. И потом "двоичный" ноль - это уже интересно Это как ?
...
Рейтинг: 0 / 0
порча dbf файла
    #36085296
reware
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tat-yМожет кто нибудь подскажет от чего может портиться dbf таблица? Файл лежит на сервере (novell6.5) и работаем с Foxpro2.6. В один прекрасный момент блок данных размером 64К заполняется двоичными нулями.
Гляньте сюда - http://forum.foxclub.ru/read.php?32,177183,349383#msg-349383.
...
Рейтинг: 0 / 0
порча dbf файла
    #36085300
reware
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tat-yМожет кто нибудь подскажет от чего может портиться dbf таблица? Файл лежит на сервере (novell6.5) и работаем с Foxpro2.6. В один прекрасный момент блок данных размером 64К заполняется двоичными нулями.

Без лишних слов кину сюда (модератор не убьет ?) -
***************************************************************
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
* fixreccount.prg
*
* Title:
* Check and fix header record counter of a table
*
* Author(s): 
* Shirokov A.V.
*
* Syntax:
* do fixreccount [with tcTableName[, tlNeedInfo = .f.]]
*
* Parameters:
* tcTableName - a table name
* tlNeedInfo - flag "need debug info". Default .f.
*
* Example:
* set printer to log.txt
* set printer on
* do fixreccount with "test.dbf", .t.
* set printer off
* set printer to
*
***************************************************************
* FOPEN's constants
*
* 0 (Default) Read Only Buffered
#define FA_READONLY 0
* 1 Write-Only Buffered
#define FA_WRITEONLY 1
* 2 Read and Write Buffered
#define FA_READWRITE 2
* 10 Read-Only Unbuffered
#define FA_READONLY_DIRECT 10
* 11 Write-Only Unbuffered
#define FA_WRITEONLY_DIRECT 11
* 12 Read and Write Unbuffered
#define FA_READWRITE_DIRECT 12
* FSEEK's constants
*
*  0  (Default) The beginning of the file.
#define FS_BEGIN  0 
*  1  The current file pointer position
#define FS_CURRENT  1 
*  2  The end of the file
#define FS_END  2 
*lparam tcFile,
 tlNeedInfo=.f.
 tcfile=''
*private all
*if type('m.tcFile') != 'C'
_Screen.Visible=.T.

     tcFile = getfile("DBF", "Выбор таблицы","Открыть", 0 )
     if empty(m.tcFile)
          return
     endif
*endif

lnFile = fopen(m.tcFile, FA_READWRITE)
if m.lnFile = - 1 

     =MessageBox("Не могу открыть "+m.tcFile,  16 , "Ошибка")
     return
ENDIF
SET STEP ON 
lnByte = asc(fread(m.lnFile,  1 ))
if not inlist(m.lnByte, ;
      0 * 16 + 2 ,      ; &&     FoxBASE
      0 * 16 + 3 ,      ; &&     FoxBASE+/dBASE III PLUS, no memo
      3 * 16 + 0 ,      ; &&     Visual FoxPro
      4 * 16 + 3 ,          ; &&     dBASE IV SQL table files, no memo
      6 * 16 + 3 ,      ; &&     dBASE IV SQL system files, no memo
      8 * 16 + 3 ,          ; &&     FoxBASE+/dBASE III PLUS, with memo
      8 * 16 + 11 ,      ; &&     dBASE IV with memo
      12 * 16 + 11 ,     ; &&     dBASE IV SQL table files, with memo
      15 * 16 + 5 ,      ; &&     FoxPro  2 .x (or earlier) with memo
      15 * 16 + 11      ; &&     FoxBASE
     )
     =MessageBox("Этот файл " + m.tcFile + " не DBF",  16 , "Ошибка")
     fclose(m.lnFile)
     return
endif
=fseek(m.lnFile,  0 , FS_BEGIN)
lnSize = fseek(m.lnFile,  0 , FS_END)
lnRecCount =  0 
fseek(m.lnFile,  4 , FS_BEGIN) 
for lnIndex =  1  to  4 

   lnByte = asc(fread(m.lnFile,  1 ))
   lnRecCount = bitor(m.lnRecCount, bitlshift(m.lnByte,  8 *(m.lnIndex- 1 )))
endfor 
lnDataStart =  0 
for lnIndex =  1  to  2 

   lnByte = asc(fread(m.lnFile,  1 ))
   lnDataStart = bitor(m.lnDataStart, bitlshift(m.lnByte,  8 *(m.lnIndex- 1 )))
endfor 
lnRecLength =  0 
for lnIndex =  1  to  2 

   lnByte = asc(fread(m.lnFile,  1 ))
   lnRecLength = bitor(m.lnRecLength, bitlshift(m.lnByte,  8 *(m.lnIndex- 1 )))
endfor 
lnDataSize = m.lnSize - m.lnDataStart
lnFactRecCount = int(m.lnDataSize/m.lnRecLength)
lnAnswer =  0 
if m.lnFactRecCount != m.lnRecCount

     lnAnswer = MessageBox(m.tcFile + chr( 13 ) + "Восстановить заголовок?",  3 + 32 , "Question")
     if m.lnAnswer ==  6 
          fseek(m.lnFile,  4 , FS_BEGIN)
          for lnIndex= 1  to  4 
               lnByte = bitand(bitrshift(m.lnFactRecCount,  8 *(m.lnIndex- 1 )),  255 )
               fwrite(m.lnFile, chr(m.lnByte),  1 )
          endfor
     endif
endif
fclose(m.lnFile)
if !m.tlNeedInfo

   ct1= "Восстановление заголовка для "+alltrim(m.tcFile)
   ct2= replicate("=",  80 )
   ct3= "Объем="+STR(m.lnSize)
   ct4= "Начало данных "+STR(m.lnDataStart)
   ct5= "Объем данных = Объем - начало данных = "+STR(m.lnSize)+ "  -"+STR(m.lnDataStart)+ " = "+STR(m.lnDataSize)
   ct6= "Длина записи="+STR(m.lnRecLength)
   ct7= "Число записей в заголовке="+STR(m.lnRecCount)
   ct8= "Фактическое число записей = Объем данных / Длина записи = "+Str(m.lnDataSize)+ "/"+STR(m.lnRecLength)+ "="+STR(m.lnFactRecCount)
     if m.lnFactRecCount = m.lnRecCount
        ct9= "Не надо восстанавливать"
     else
        ct9= iif(m.lnAnswer ==  6 , "Восстановлено", "Восстановление пропущено")
     ENDIF
    =MESSAGEBOX(ct1+ chr( 13 )+ct2+ chr( 13 )+ct3+ chr( 13 )+ct4+ chr( 13 )+ct5+ chr( 13 )+ct6+ chr( 13 )+ct7+ chr( 13 )+ct8+ chr( 13 )+ct9, 64 )
endif
return m.lnAnswer ==  6  
...
Рейтинг: 0 / 0
порча dbf файла
    #36085324
Burn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tat-yМожет кто нибудь подскажет от чего может портиться dbf таблица? Файл лежит на сервере (novell6.5) и работаем с Foxpro2.6. В один прекрасный момент блок данных размером 64К заполняется двоичными нулями.
Опыт работу с Новеллом говорит что большинство проблем от глючного железа используемого сервака. Сами страдали. После покупки сертефицированого сервера проблемы не наблюдались годами
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / порча dbf файла
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]