![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка Stack overflow [D7, Paradox]
mmelik © (2009-03-03 18:28:00)Доброго времени суток всем. Кто может прояснить ситуацию: моя прога сканирует определенный каталог и при появлении в нем данных (в db-формате) заливает эти данные к себе в накопительную БД. Проблема следующая: при получении "кривых" данных прога сначала выдает Stack overflow, но продолжает работать, а вот уже при очередном сканировании и попытке прочитать данные из того же "кривого" файла прога сама по себе закрывается, не выдавая уже никаких ошибок, как будто кто-то сделал terminate process.
Есть мысли? Или хотя бы как поймать ошибку (try...except - не ловит, прога на второй попытке вываливается)?
ASoft (2009-03-05 13:51:00) [1]
> mmelik © (04.03.09 20:43) [72]
>
> тем более, что в новой версии все тот же парадокс
Жесть!..
Anatoly Podgoretsky (2009-03-05 13:21:00) [2]> Amoeba (05.03.2009 12:10:23) [83]
Degisy но очень криво, поскольку хакерски, и больше никого.
Amoeba (2009-03-05 12:10:00) [3]
> Всё, что предоставляет Борланд (и его преемники) для работы
> с парадоксом...
А что, кто-либо еще кроме Борланда предоставлял какие-либо средства для доступа к парадоксовским базам совсем не задействуя так или иначе борландовские библиотеки? Если не ошибаюсь, формат парадокса до сих пор остается закрытым.
До появления Delphi в распоряжении сторонних разработчиков был ParadoxEngine.
C D1 явилось на свет BDE.
Германн (2009-03-05 01:52:00) [4]
> sniknik © (05.03.09 01:39) [81]
>
> > 404 Not Found
> хм. что значит давно не заходил... тебе нужно? вышлю.
А я и сам не знаю нужно или нет???
Но парадокс пока что на мне висит. Так что если не сложно вышли. Может и пригодится когда-нибудь. Мыло в анкете.
sniknik (2009-03-05 01:39:00) [5]> 404 Not Found
хм. что значит давно не заходил... тебе нужно? вышлю.
Германн (2009-03-05 01:19:00) [6]
> Amoeba © (05.03.09 01:13) [79]
>
>
> > 2. Взять независимый от BDE ридер парадокса (насколько
> я
> > помню DBD32 таковым и является)
>
> Память Вас подводит. Всё, что работает с парадоксом, завязано
> на BDE.
>
Имхо, требуется уточнение. Всё, что предоставляет Борланд (и его преемники) для работы с парадоксом...
Amoeba (2009-03-05 01:13:00) [7]
> 2. Взять независимый от BDE ридер парадокса (насколько я
> помню DBD32 таковым и является)
Память Вас подводит. Всё, что работает с парадоксом, завязано на BDE.
Германн (2009-03-05 01:09:00) [8]
> mmelik © (04.03.09 22:26) [76]
>
> Господа?
>
Я бы всё-таки пошёл бы в направлении, которое исключило бы получение "кривых" данных.
Может это покупка "новой версии". Тогда хотя бы можно было бы переложить часть работы/заботы на авторов сей версии.
Может это покупка или разработка "другого продукта", который делает то, что нужно, но уже без непонятных проблем.
Да. Можно попытаться получить "верные" данные из "кривого" файла. Но ведь нет никакой гарантии, что получишь "верные" данные. Поскольку, ты и сам не знаешь, что "кривое" в "кривом" файле БД.
Германн (2009-03-05 00:02:00) [9]
> sniknik © (04.03.09 21:29) [75]
>
> откуда приходит? каким образом его "отнимают от груди родительской
> программы"?
> то что из-за этого возможно будут неверные цифры не смущает?
>
>
> ... я бы выбрал вариант с приведенным мной "ридером"
404 Not Found
mmelik (2009-03-04 22:26:00) [10]sniknik - благодарю
Господа?
sniknik (2009-03-04 21:29:00) [11]откуда приходит? каким образом его "отнимают от груди родительской программы"?
то что из-за этого возможно будут неверные цифры не смущает?
... я бы выбрал вариант с приведенным мной "ридером"... и не потому, что он особо оптимальнее остального, а потому, что в исходниках. и если предполагаются глюки в данных то их лучше иметь, чтобы была возможность переделать "под себя".
кстати если выберешь этот вариант то там есть глюк и в самих исходниках... не помню в чем он но помню я там в ридми писал, в чем он и как исправить. посмотри его обязательно.
mmelik (2009-03-04 21:11:00) [12]Источник ошибки, из-за которой приходит битый файл исключить не получится, он мне неизвестен.
sniknik (2009-03-04 21:06:00) [13]можешь еще пункт добавить, пропустил.
5. не пользоваться * в запросах, всегда прописывать поля (и вообще все) в явном виде.
> выбрать оптимальный пункт.
6. исключить ошибку из-за которой получаешь битый файл.
mmelik (2009-03-04 20:43:00) [14]Господа приветствую. Прочитал ваши мысли на тему.
Может поступить проще?
Как я вижу предложено несколько вариантов для решения проблемы:
1. Воспользоваться TTable вместо TQuery
2. Взять независимый от BDE ридер парадокса (насколько я помню DBD32 таковым и является)
3. При первом же нормальном отлове Stack overflow перестать обрабатывать сбойный файл, ну или переместить его в "карантин"
4. Купить новую версию (сомневаюсь, что удастся убедить в этом боссов, тем более, что в новой версии все тот же парадокс только с новыми табличками да новыми доп. полями внутри старых таблмчек)
Возможно это по идиотски выглядит со стороны, но у меня просьба к каждому участнику поста выбрать оптимальный пункт. Надеюсь на ваше понимание.
sniknik (2009-03-04 11:20:00) [15]> SQL Explorer тоже падает при том же запросе.
да я видел. но писал не об этом, а о варианте когда он все таки работает и выводы их этого.
SQL Explorer же ничего не выдает, не успевает.
Сергей М. (2009-03-04 11:03:00) [16]
> sniknik © (04.03.09 10:48) [64]
> Database Decktop, он ближе к вопросу т.к. тоже выдает Stack
> overflow, в отличие от SQL Explorer
SQL Explorer тоже падает при том же запросе.
А как не падать ? Обращение-то идет к одним тем же ф-циям БДЕ ..
Anatoly Podgoretsky (2009-03-04 11:01:00) [17]> Сергей М. (04.03.2009 0:35:45) [45]
Да у них ДОС
brother (2009-03-04 11:00:00) [18]по [35]
> Медвежонок Пятачок - DBD32.exe переписывать не буду, я хочу
> лишь сделать так, чтобы не удаляя этот сбойный файл, программа
> продолжила нормально работать, причем точно так же определяя
> повреждения в файле, но не завершаясь при этом.
те определили ошибку, но и пофиг! работаем дальше, подавив сообщение об ошибке?
или
раз ошибка, то работать с файлом не буду?
Anatoly Podgoretsky (2009-03-04 11:00:00) [19]> mmelik (04.03.2009 0:30:42) [42]
Вам же дали решение "купите у нас новую" а вы дурью маетесь, уже наверно намучались на несколько сумм.
Или у вас психология, что это бесплатно, мы же зарплату платим.
Ребята вам надо из бизнеса уходить.
Anatoly Podgoretsky (2009-03-04 10:59:00) [20]> mmelik (04.03.2009 0:30:42) [42]
ДОС ну так BDE не совместимы.