|
запись кода ошибки БД в таблицу
|
|||
---|---|---|---|
#18+
Здравствуйте. Есть БД SQL server+Access 2013. К БД обращаются примерно 150 пользователей. на компьютерах пользователей установлен не полный аксесс, а Runtime. При работе периодически возникают ошибки - иногда даже при запуске приложения. При этом Runtime закрывается с критической ошибкой. Можно ли записать в отдельную таблицу код и описание ошибки при её возникновении чтобы при необходимости выгрузить записи и посмотреть, что у кого произошло? как это можно сделать? В БД я сделал отдельную таблицу для этих записей: Ошибки(КодЗаписи, КодОшибки, дата, пользователь). Помогите пожалуйста. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2016, 09:35 |
|
запись кода ошибки БД в таблицу
|
|||
---|---|---|---|
#18+
jediAlexпри запуске приложения... закрывается с критической ошибкой. Можно ли программой записать данные в БД, если программа не запустилась? сам-то как думаешь... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2016, 09:39 |
|
запись кода ошибки БД в таблицу
|
|||
---|---|---|---|
#18+
AkinajediAlexпри запуске приложения... закрывается с критической ошибкой. Можно ли программой записать данные в БД, если программа не запустилась? сам-то как думаешь... ну есть способ вытащить код ошибки? например в файл? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2016, 09:53 |
|
запись кода ошибки БД в таблицу
|
|||
---|---|---|---|
#18+
jediAlexесть способ вытащить код ошибки? например в файл? Конечно... открываешь журнал событий (разделы Система и Приложение) и сохраняешь в файл... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2016, 10:01 |
|
запись кода ошибки БД в таблицу
|
|||
---|---|---|---|
#18+
юзеры в журнал событий не полезут...они не знают вообще что это ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2016, 10:07 |
|
запись кода ошибки БД в таблицу
|
|||
---|---|---|---|
#18+
jediAlexюзеры в журнал событий не полезут...они не знают вообще что это Дык и не надо. Ставте обработчики ошибок. Попытайтесь локализовать ошибку. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2016, 10:14 |
|
запись кода ошибки БД в таблицу
|
|||
---|---|---|---|
#18+
Само собой нужна обработка ошибок, причем для точной локализации проблемы строки нужно пронумеровать, а в записи об ошибке или просто в сообщении пользователю выводить номер строки, где произошла ошибка. Нумеровать строки умеет, например, MZ-Tools. Он же и вставляет обработчики по нажатию кнопки. Я, например, использую обработчики такого типа: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Есть варианты, где вместо сообщения вызывается процедура, которая пишет ошибку в таблицу и отсылает сообщение с деталями на почту. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2016, 11:04 |
|
запись кода ошибки БД в таблицу
|
|||
---|---|---|---|
#18+
а метод WriteErrorToTable объекта Err? как правильно использовать этот метод? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2016, 11:08 |
|
запись кода ошибки БД в таблицу
|
|||
---|---|---|---|
#18+
так вот что за таблица должна быть? её самому создавать? какая структура этой таблицы должна быть? Как записать информацию об ошибке в таблицу? метод записи в общем я наверное нашел, но как им пользоваться... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2016, 11:20 |
|
запись кода ошибки БД в таблицу
|
|||
---|---|---|---|
#18+
MrShinЕсть варианты, где вместо сообщения вызывается процедура, которая пишет ошибку в таблицу и отсылает сообщение с деталями на почту.Ага, из обработчика ошибок... что такое double fault - знаешь? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2016, 11:34 |
|
запись кода ошибки БД в таблицу
|
|||
---|---|---|---|
#18+
AkinaMrShinЕсть варианты, где вместо сообщения вызывается процедура, которая пишет ошибку в таблицу и отсылает сообщение с деталями на почту.Ага, из обработчика ошибок... что такое double fault - знаешь? Предусмотрено там это. В случае ошибки внутри обработчика ошибки выдается сообщение о совсем непредвиденной ошибке с текстами обеих ошибок :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2016, 12:38 |
|
запись кода ошибки БД в таблицу
|
|||
---|---|---|---|
#18+
jediAlexа метод WriteErrorToTable объекта Err? У объекта Err нет такого метода, насколько мне известно. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2016, 12:42 |
|
запись кода ошибки БД в таблицу
|
|||
---|---|---|---|
#18+
написал функцию для записи ошибки в таблицу: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
эту функцию поместил в общий модуль и вызываю её макросом при открытии БД(т.к. чаще всего ошибки при открытии происходят). При открытии БД срабатывает макрос, который запускает форму-навигатор по приложению. я изменил имя формы и получил ошибку при запуске БД.При этом моя функция сработала, но не записывается в таблицу код ошибки и описание ошибки(Description). В таблицу ошибок я добавил поле "Описание" с типом данных "Длинный текст", куда надо записывать Description ошибки. Полю "НомерОшибки" присваивается ноль, а описание ошибки пустое. имя пользователя, дата и время заполняются. Что не так? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2016, 14:12 |
|
запись кода ошибки БД в таблицу
|
|||
---|---|---|---|
#18+
jediAlex, вы куда идете по переходу не перепутали ли вы метки да и запонить надо текущую ошибку Код: vbnet 1. 2.
уберите On Error GoTo Err_Routine для отладки ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2016, 14:44 |
|
запись кода ошибки БД в таблицу
|
|||
---|---|---|---|
#18+
Объект Err сбрасывается у вас после первой же команды по открытию рекордсета. Сначала запомните текущие значения, а потом все остальное. Да и выносить нужно запись ошибки в отдельную процедуру со своим обработчиком ошибок, а туда передавать только номер ошибки, описание, название процедуры, модуля и номер линии. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2016, 14:55 |
|
запись кода ошибки БД в таблицу
|
|||
---|---|---|---|
#18+
попробовал так - перед открытием рекордсета запомнить значения: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
результат тот же... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2016, 15:42 |
|
запись кода ошибки БД в таблицу
|
|||
---|---|---|---|
#18+
jediAlexрезультат тот же... Конечно! Команда On Error GoTo Err_Routine также сбрасывает объект Err. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2016, 15:50 |
|
запись кода ошибки БД в таблицу
|
|||
---|---|---|---|
#18+
Должно быть примерно так: Объявляем обработчик в процедуре Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
А в обработчике уже пишем данные и выводим сообщение. Вот мой обработчик, берите, если хотите. Чтобы номер строки был не нулевым, строки основного кода должны быть пронумерованы. Код: vbnet 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2016, 16:01 |
|
запись кода ошибки БД в таблицу
|
|||
---|---|---|---|
#18+
можно ли программно записать ошибку DSN при подключении к БД на сервере? если можно, как это сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 08:44 |
|
запись кода ошибки БД в таблицу
|
|||
---|---|---|---|
#18+
сделал так: при загрузке главной формы срабатывает обработчик: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Err_Routine - функция в общем модуле "FormsModule" ,которая записывает содержание ошибки в таблицу базы данных. Текст функции: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
При запуске БД обработчик и функция срабатывают как надо - содержимое ошибки, имя пользователя, имя компьютера, дата и время записываются в таблицу, но на строке Код: vbnet 1.
вылетает ошибка "13 type mismatch" что не так с типами и где? не пойму... Структура таблицы для записи ошибок("ErrorsDatabase"): код -счетчик, ключ;НомерОшибки - целое;Описание - короткий текст;Пользователь - короткий текст;ИмяКомпьютера - короткий текст;Дата - дата и время(краткий формат даты);Время - дата и время(краткий формат времени).Помогите пожалуйста ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2016, 10:28 |
|
запись кода ошибки БД в таблицу
|
|||
---|---|---|---|
#18+
jediAlex, Код: vbnet 1. 2.
Код: vbnet 1.
Эммм... Не понял. А где список имён и типов передаваемых параметров? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2016, 11:49 |
|
|
start [/forum/topic.php?fid=45&msg=39191938&tid=1613779]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
52ms |
get topic data: |
11ms |
get forum data: |
5ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 160ms |
0 / 0 |