Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.04.19;
Скачать: [xml.tar.bz2];

Вниз

Ошибка Stack overflow   Найти похожие ветки 

 
Сергей М. ©   (2009-03-04 00:27) [40]


> mmelik ©   (04.03.09 00:20) [37]


Это что за байда ? Пароль почему требует ?


 
Германн ©   (2009-03-04 00:29) [41]

Либо дай свой пароль, либо "встроенный" парадоксовский. Я их не помню.


 
mmelik ©   (2009-03-04 00:30) [42]

Сергей М.-
Есть такой замечательный софт для кассовых систем предприятий общепита, который зовется R-Keeper, а работает этот софт под DOS`ом, а данные о своей работе за день передает по сетке на серверу приложений, который в свою очередь работает на виндовой машине и пишет в db-файлы. Ваш вопрос вполне ожидаемый, но вот ответ на него может дать только разработчик, а разработчик говорит - мы больше не поддерживаем эту версию, купите у нас новую. А бигбоссы новое не покупают, их и эта версия устраивает, а то что в ней раз в полгода глюки бывают (сбойные файлы) им глубоко по барабану. У меня же просто спортивный интерес: как так, поймать ошибку в первый раз, вроде бы нормально ее обработать, а второй раз вывалиться? Ну чудес же не бывает? Вот я к вам тут и пристаю.


 
mmelik ©   (2009-03-04 00:31) [43]

Пароль jIGGAe


 
Сергей М. ©   (2009-03-04 00:32) [44]


> Я их не помню


А я помню ? Вот мне делать нечего как вспоминать)


 
Сергей М. ©   (2009-03-04 00:35) [45]


> mmelik ©   (04.03.09 00:31) [43]
>
> Пароль jIGGAe


Тебе еще и в ножки покланяться надо, чтобы ты пароль соизволил убрать или сразу сообщить ?)

Ну да ладно.

Вввел пароль, открыл таблицу, ничего не случилось - все чин по чину.
Что я делаю не так ?


 
mmelik ©   (2009-03-04 00:36) [46]

Сергей М. -
Все именно так. Теперь попробуйте запрос: select * from "rcheck.db"


 
Германн ©   (2009-03-04 00:39) [47]


> mmelik ©   (04.03.09 00:36) [46]
>
> Сергей М. -
> Все именно так. Теперь попробуйте запрос: select * from
> "rcheck.db"
>

Stack Overflow


 
Сергей М. ©   (2009-03-04 00:40) [48]


> mmelik ©   (04.03.09 00:30) [42]


Ах так ты спортсмен ?!
Что же ты сразу не сказал ?)
Спортсменов мы уважаааам))
Ну давай, спортсмен, проверять-уточнять, в каких кедах ты пытаешься  прыгнуть выше задницы)

Билд Делфи какой ?
Версия парадоксового БДЕ-драйвера ?


 
mmelik ©   (2009-03-04 00:41) [49]

Delphi 7, BDE 5


 
Германн ©   (2009-03-04 00:46) [50]


> Сергей М. ©   (04.03.09 00:40) [48]

Да причём тут билд Делфи?
Это парадокс + BDE.
А там сам чёрт ногу сломит.
Нужно искать в гугле. Мож кто с таким сталкивался.


 
mmelik ©   (2009-03-04 00:47) [51]

Германн - на всякий случай разъясню кратко суть: есть файлы данных, которые ежедневно необходимо подкачивать в накопительную БД. Есть так же софт, который работает круглосуточно, сканирует определенный каталог, где собственно эти данные складываются, и подкачивает в накопиловку. Так вот именно на этом файле прога сама по себе закрывается.


 
Сергей М. ©   (2009-03-04 00:53) [52]


> Германн ©   (04.03.09 00:39) [47]


И ты, Брут !?)

Вот я смотрю SQLExplorer"ом дефиницию этой таблицы и вижу там Valid=No.

Какого хрена, спрашивается, открывать таблицу, делать к ней запросы и производить прочие на полном сурьезе манипуляции, если БДЕ внятно говорит об инвалидности таблицы ?)


 
Германн ©   (2009-03-04 00:55) [53]


> mmelik ©   (04.03.09 00:47) [51]
>
> Германн - на всякий случай разъясню кратко суть: есть файлы
> данных, которые ежедневно необходимо подкачивать в накопительную
> БД. Есть так же софт, который работает круглосуточно, сканирует
> определенный каталог, где собственно эти данные складываются,
>  и подкачивает в накопиловку. Так вот именно на этом файле
> прога сама по себе закрывается.

Это мне уже давно понятно.
Что-то рушится в BDE при первой ошибке. Ну а при второй уже невозможно ничего предсказать.
Как я и говорил в [50] нужно искать в гугле.


 
mmelik ©   (2009-03-04 00:58) [54]

Сергей М. - это очень важно: каким способом можно "спросить" BDE о валидности таблицы, соответственно, из кода в Delphi?


 
Германн ©   (2009-03-04 00:59) [55]


> Сергей М. ©   (04.03.09 00:53) [52]
>
>
> > Германн ©   (04.03.09 00:39) [47]
>
>
> И ты, Брут !?)
>
> Вот я смотрю SQLExplorer"ом дефиницию этой таблицы и вижу
> там Valid=No.
>
> Какого хрена, спрашивается, открывать таблицу, делать к
> ней запросы и производить прочие на полном сурьезе манипуляции,
>  если БДЕ внятно говорит об инвалидности таблицы ?)
>

А DBD32 ничего не говорит плохого о сей таблице.
Прошелся по всей таблице. Прошелся по всем пунктам Info Stucture. Ничего не нашёл.
А Брут - это не я. Брут - это Paradox+BDE. :)


 
mmelik ©   (2009-03-04 01:10) [56]

Сергей М. - и все таки это не так, я открыл в этом же sqlexplorer`e с десяток других файлов, которые нормально подкачиваются и везде у них стоит Valid=No.

Соответственно, решения пока нет.

Господа, время позднее. Всем участникам - выражаю личную огромную благодарность за содействие. Если будет у кого возможность - предлагаю продолжить завтра.
Еще раз обозначу задачу, которую, собственно, не удалось пока решить в ходе данного поста:

- есть сбойный файл rcheck.db (http://ifolder.ru/10849685)

- необходимо программно понять, что он сбойный, но таким образом, чтобы предотвратить переполнение стека.


 
Германн ©   (2009-03-04 01:16) [57]


> mmelik ©   (04.03.09 01:10) [56]

Самое лучшее решение - это перейти с парадокса на нормальный (современный) движок БД.
Они, по крайней мере, хоть имеют нормальную документацию.


 
Сергей М. ©   (2009-03-04 01:18) [58]


> десяток других файлов, которые нормально подкачиваются и
> везде у них стоит Valid=No


А когда ты схлопочешь другое фатальное исключение, нежели stack overflow, что тогда запоешь ?)

Тебе ж ясным буржуйским языком сказано Valid=NO !
Значит БДЕ не дает никаких гарантий нормальной работы с этим контейнером)


 
Германн ©   (2009-03-04 01:25) [59]


> Значит БДЕ не дает никаких гарантий нормальной работы с
> этим контейнером)
>

Ты понял, ты понял меня наконец-то!
:-)
Так я всё ёще Брут?
Али как?
:)


 
mmelik ©   (2009-03-04 01:25) [60]

Сергей М. - предлагаю продолжить завтра, большое вам спасибо за то, что все таки вытерпели мои профанские нападки. Мне очень надо разобраться до конца, принципы такие. Если куча других файлов с Valid=No закачиваются нормально, а всего лишь один из них - нет, то это не повод чтобы не закачивать ни одного файла с Valid=No.
Ладно, будет день, будет пища.


 
Сергей М. ©   (2009-03-04 10:01) [61]


> Если куча других файлов с Valid=No закачиваются нормально


Что значит "закачиваются" ?
Если имеется ввиду, что твой SELECT-запрос выполняется успешно, то это еще не говорит ни о чем. Грабли с инвалидным контейнером могут выстрелить в любой другой момент в любом другом месте твоего кода, обращающегося к получаемому тобой таким образом набору данных.

Да и к чему вообще такой запрос ?
Обрати внимание, что падение BDE происходит лишь при выполнении явно указанного запроса средствами TQuery, в то время как при обращении к тому же самому "кривому" контейнеру средствами TTable открытие НД и навигация по нему проходит успешно. Почему бы при прочих равных условиях не попробовать воспользоваться TTable вместо TQuery ?


 
Виталий Панасенко   (2009-03-04 10:38) [62]

А откуда уверенность, что остальные невалидные? может, как раз он один


 
brother ©   (2009-03-04 10:46) [63]

> А откуда уверенность, что остальные невалидные? может, как
> раз он один

[42] перечитай


 
sniknik ©   (2009-03-04 10:48) [64]

> при выполнении явно указанного запроса средствами TQuery
и при указании * в запросе, проверял в Database Decktop, он ближе к вопросу т.к. тоже выдает Stack overflow, в отличие от SQL Explorer.
при явном указании списка полей запрос там работает. т.е. проблема в структуре именно с этим, (нет завершения списка полей? неверно указано количество? не знаю, как там по структуре должно быть.)

> Почему бы при прочих равных условиях не попробовать воспользоваться TTable вместо TQuery ?
или взять независимый от BDE ридер парадокса типа
http://forum.chertenok.ru/my_download.php?tema=del&action=show&id=172

но лучше устранить причину... т.к. очевидно, что файл скопирован с какими то нарушениями, возможно в момент когда был открыт основной программой и изменялся/не завершен.


 
Anatoly Podgoretsky ©   (2009-03-04 10:57) [65]

> mmelik  (04.03.2009 0:14:35)  [35]

При Stack overflow?  :-)


 
Anatoly Podgoretsky ©   (2009-03-04 10:59) [66]

> mmelik  (04.03.2009 0:30:42)  [42]

ДОС ну так BDE не совместимы.


 
brother ©   (2009-03-04 11:00) [67]

по [35]

> Медвежонок Пятачок - DBD32.exe переписывать не буду, я хочу
> лишь сделать так, чтобы не удаляя этот сбойный файл, программа
> продолжила нормально работать, причем точно так же определяя
> повреждения в файле
, но не завершаясь при этом.

те определили ошибку, но и пофиг! работаем дальше, подавив сообщение об ошибке?
или
раз ошибка, то работать с файлом не буду?


 
Anatoly Podgoretsky ©   (2009-03-04 11:00) [68]

> mmelik  (04.03.2009 0:30:42)  [42]

Вам же дали решение "купите у нас новую" а вы дурью маетесь, уже наверно намучались на несколько сумм.
Или у вас психология, что это бесплатно, мы же зарплату платим.
Ребята вам надо из бизнеса уходить.


 
Anatoly Podgoretsky ©   (2009-03-04 11:01) [69]

> Сергей М.  (04.03.2009 0:35:45)  [45]

Да у них ДОС


 
Сергей М. ©   (2009-03-04 11:03) [70]


> sniknik ©   (04.03.09 10:48) [64]



> Database Decktop, он ближе к вопросу т.к. тоже выдает Stack
> overflow, в отличие от SQL Explorer


SQL Explorer тоже падает при том же запросе.
А как не падать ? Обращение-то идет к одним тем же ф-циям БДЕ ..


 
sniknik ©   (2009-03-04 11:20) [71]

> SQL Explorer тоже падает при том же запросе.
да я видел. но писал не об этом, а о варианте когда он все таки работает и выводы их этого.
SQL Explorer же ничего не выдает, не успевает.


 
mmelik ©   (2009-03-04 20:43) [72]

Господа приветствую. Прочитал ваши мысли на тему.
Может поступить проще?

Как я вижу предложено несколько вариантов для решения проблемы:

1. Воспользоваться TTable вместо TQuery

2. Взять независимый от BDE ридер парадокса (насколько я помню DBD32 таковым и является)

3. При первом же нормальном отлове Stack overflow перестать обрабатывать сбойный файл, ну или переместить его в "карантин"

4. Купить новую версию (сомневаюсь, что удастся убедить в этом боссов, тем более, что в новой версии все тот же парадокс только с новыми табличками да новыми доп. полями внутри старых таблмчек)

Возможно это по идиотски выглядит со стороны, но у меня просьба к каждому участнику поста выбрать оптимальный пункт. Надеюсь на ваше понимание.


 
sniknik ©   (2009-03-04 21:06) [73]

можешь еще пункт добавить, пропустил.

5. не пользоваться * в запросах, всегда прописывать поля (и вообще все) в явном виде.

> выбрать оптимальный пункт.
6. исключить ошибку из-за которой получаешь битый файл.


 
mmelik ©   (2009-03-04 21:11) [74]

Источник ошибки, из-за которой приходит битый файл исключить не получится, он мне неизвестен.


 
sniknik ©   (2009-03-04 21:29) [75]

откуда приходит? каким образом его "отнимают от груди родительской программы"?
то что из-за этого возможно будут неверные цифры не смущает?

... я бы выбрал вариант с приведенным мной "ридером"... и не потому, что он особо оптимальнее остального, а потому, что в исходниках. и если предполагаются глюки в данных то их лучше иметь, чтобы была возможность переделать "под себя".
кстати если выберешь этот вариант то там есть глюк и в самих исходниках... не помню в чем он но помню я там в ридми писал, в чем он и как исправить. посмотри его обязательно.


 
mmelik ©   (2009-03-04 22:26) [76]

sniknik - благодарю

Господа?


 
Германн ©   (2009-03-05 00:02) [77]


> sniknik ©   (04.03.09 21:29) [75]
>
> откуда приходит? каким образом его "отнимают от груди родительской
> программы"?
> то что из-за этого возможно будут неверные цифры не смущает?
>
>
> ... я бы выбрал вариант с приведенным мной "ридером"

404 Not Found


 
Германн ©   (2009-03-05 01:09) [78]


> mmelik ©   (04.03.09 22:26) [76]
>
> Господа?
>

Я бы всё-таки пошёл бы в направлении, которое исключило бы получение "кривых" данных.
Может это покупка "новой версии". Тогда хотя бы можно было бы переложить часть работы/заботы на авторов сей версии.
Может это покупка или разработка "другого продукта", который делает то, что нужно, но уже без непонятных проблем.

Да. Можно попытаться получить "верные" данные из "кривого" файла. Но ведь нет никакой гарантии, что получишь "верные" данные. Поскольку, ты и сам не знаешь, что "кривое" в "кривом" файле БД.


 
Amoeba ©   (2009-03-05 01:13) [79]


> 2. Взять независимый от BDE ридер парадокса (насколько я
> помню DBD32 таковым и является)

Память Вас подводит. Всё, что работает с парадоксом, завязано на BDE.


 
Германн ©   (2009-03-05 01:19) [80]


> Amoeba ©   (05.03.09 01:13) [79]
>
>
> > 2. Взять независимый от BDE ридер парадокса (насколько
> я
> > помню DBD32 таковым и является)
>
> Память Вас подводит. Всё, что работает с парадоксом, завязано
> на BDE.
>

Имхо, требуется уточнение. Всё, что предоставляет Борланд (и его преемники) для работы с парадоксом...



Страницы: 1 2 3 вся ветка

Форум: "Начинающим";
Текущий архив: 2009.04.19;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.62 MB
Время: 0.052 c
15-1234859394
Ega23
2009-02-17 11:29
2009.04.19
знатоки JavaScript, посоветуйте


3-1219473823
123123
2008-08-23 10:43
2009.04.19
проблема с FireBird


2-1235711956
nastya
2009-02-27 08:19
2009.04.19
Злополучная лямда


15-1224504901
Правильный$Вася
2008-10-20 16:15
2009.04.19
глобальный кризис и программисты


15-1234465909
Кое кто
2009-02-12 22:11
2009.04.19
Универсальный вьюер





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский