Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как Фоксе проверить жив коннект к SQLServer или нет
|
|||
|---|---|---|---|
|
#18+
Коннекчусь к SQLServer по SQLSTRINGCONNECT, сервер далеко. Там отрубают свет или еще что-то. На клиенте надо поставить какую-то проверку живости коннекта. Есть ли у Фокса что-нибудь родное для таких проверок? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 17:07 |
|
||
|
Как Фоксе проверить жив коннект к SQLServer или нет
|
|||
|---|---|---|---|
|
#18+
Попробуй передать по коннекту пустую строку Код: plaintext 1. 2. А вообще-то, любая команда SQLExec() должна проверяться на предмет ошибки через AERROR(). Разрыв коннекта - это вполне определенный номер ошибки (для MS SQL, если не ошибаюсь - 1000) Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 17:26 |
|
||
|
Как Фоксе проверить жив коннект к SQLServer или нет
|
|||
|---|---|---|---|
|
#18+
В том то и дело, что ошибка возникает на стадии ...IF SQLExec(<номер коннекта>,"") < 0... Пугает юзверей мессага англицкая :) Вставлять везде ON ERROR не хочется, думал можа средство какое есть :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 17:37 |
|
||
|
Как Фоксе проверить жив коннект к SQLServer или нет
|
|||
|---|---|---|---|
|
#18+
Типа вот так работает, но как-то не нравится мне ON ERROR что-то вроде двойной проверки получается ON ERROR MESSAGEBOX('Коннект умер') IF SQLExec(gnHandle,"") < 0 .... ENDIF ON ERROR ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 17:50 |
|
||
|
Как Фоксе проверить жив коннект к SQLServer или нет
|
|||
|---|---|---|---|
|
#18+
Посмотри настройку для твоего коннекта ?SQLGetProp(<номер коннекта>,"DispWarnings") По умолчанию, эта настройка имеет значение .F. Но у тебя, видимо, она установлена в .T. Исправить это можно так: ?SQLSetProp(<номер коннекта>,"DispWarnings",.T.) Если ты создавал объект Connection в базе данных, то открой его на модификацию и посмотри факт наличия птички в пункте "Display Warnings". Если она там проставлена, то сними ее. Эта настройка как раз и отвечает за то, чтобы такие системные сообщения не отображались. Тогда ты спокойно перехватываешь ошибку через IF SQLExec()<1 И даешь свое сообщение не пугая пользователя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 18:20 |
|
||
|
Как Фоксе проверить жив коннект к SQLServer или нет
|
|||
|---|---|---|---|
|
#18+
Спасибо попробую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2004, 10:06 |
|
||
|
Как Фоксе проверить жив коннект к SQLServer или нет
|
|||
|---|---|---|---|
|
#18+
авторТипа вот так работает, но как-то не нравится мне ON ERROR что-то вроде двойной проверки получается ON ERROR MESSAGEBOX('Коннект умер') IF SQLExec(gnHandle,"") < 0 .... ENDIF ON ERROR ON ERROR - не поможет, ошибка соединения - это ошибка не фокса, поэтому SQLEXEC и возвращает статус выполнения операции, а как определить текст и номер ошибки уже пояснили. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2004, 13:40 |
|
||
|
Как Фоксе проверить жив коннект к SQLServer или нет
|
|||
|---|---|---|---|
|
#18+
[quot ON ERROR - не поможет, ошибка соединения - это ошибка не фокса[/quot] Сначала всегда вякнет Фокс. Можешь проверить сам. Приконектись к SQL а потом соску сетевую выдерни. Посмотри что у тебя вякнет первым :) Вот в данном случае ON ERROR поможет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2004, 10:38 |
|
||
|
Как Фоксе проверить жив коннект к SQLServer или нет
|
|||
|---|---|---|---|
|
#18+
авторСначала всегда вякнет Фокс. Можешь проверить сам. На самом деле ВладимирМ уже ответил двумя постами выше. Тем не менее мог бы сам слепить примерчик и посмотреть на результат. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Как видишь фокс не обработал ошибку разрыва соединеия (за исключением возврата статуса выполнения SQLEXEC), то фокс ни сном ни духом не знает, что же произошло с соединеием ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 11:44 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=32810492&tid=1595274]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 387ms |

| 0 / 0 |
