![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка при доступе к таблице в gdb-базе [D5, IB6.x]
anatoly_guz © (2002-08-27 20:37:00)Уважаемые мастера, срочно нужно узнать, что за ошибку выдает Интербейз при попытке навигации в таблице: "I/O error for file "c:\MyBase.gdb". Error while trying to read from file unknown Win32 error 38". Причем в базе несколько примерно одинаковых таблиц, но ошибка возникает только на одной из них. Интересует, что это значит и как с этим бороться. Не поленитесь и дайте хотя-бы направление, в каком надо копать. Лечится сие только выгрузкой метаданных вместе с данными и загрузкой в новую базу, а хотелось бы это сделать покрасивее.
Alexandr (2002-08-30 08:47:00) [1]Через IBConsole, например посмотреть можно
Sergey_ (2002-08-29 11:29:00) [2]anatoly_guz Извини за чайниковский вопрос, но как бы мне проверить, работает ли у меня в программе этот самый "Force Writes"?
Force Writes в программе не работает. Это одно из свойств самой БД.
Anatoly Podgoretsky (2002-08-29 09:08:00) [3]anatoly_guz (28.08.02 15:09)
Достаточно, но какое это имеет отношение к целостности файлов?
Alexandr (2002-08-29 07:22:00) [4]1) недостаточно
2) прав, но тут другой уровень. У тебя база повредилась не на логичеком уровне, а не файловом. Это примерно как если те например писал-писал, а потом у тебя чернила в ручке кончились, и мысль свою ты уже забыл...
Азазелло (2002-08-28 15:30:00) [5]Анатолий, по моему Вам стоит сходить на http://www.ibase.ru.Я думаю там Вы найдете достаточно ответов на эти, а также ещё не возникшие вопросы.
По-поводу базы, думаю backup/restore в данном случае не помогут.
Впредь рекомендую иметь забакапленную-отресторенную и проверенную на целостность базу на каждый день, или, если работа ведется очень интенсивная, на каждый час.
С уважением, Игорь.
anatoly_guz (2002-08-28 15:09:00) [6]Извини за чайниковский вопрос, но как бы мне проверить, работает ли у меня в программе этот самый "Force Writes"? Разве "Commit" недостаточно? При этом также задейтвован механизм транзакций. По логике, при отключении питания транзакция должна откатиться автоматом. Или я не прав?
Alexandr (2002-08-28 07:54:00) [7]покрасивее никак.
Это действительно битый файл.
И виновата в этом
1) Отсутствие Force Writes
2) ОС
3) Внезапное отключение питания
4) Плохой винт
и пр.
Кстати, в этом списке Interbase нет.
Иван Шихалев (2002-08-28 00:13:00) [8]Это означает битый файл базы. Ошибка 38 - достигнут конец файла, когда его никто не ждал.