On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение
постоянный участник




Пост N: 7497
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 02.08.23 22:42. Заголовок: Обрыв соединения на SHARED диске ?


Имею заказчика. У него странная ситуация с моей программой.
Сеть из двух компов, сервер (на нем расшаренная папка) и локальная станция.
Компы современные, на Win10x64bit
Но прога на МиниГуи (Харбор последний) в течении дня несколько раз виснет глухо и всё. Раз 8 за день.
Помогает только снятие из диспетчера задач.
Соответственно когда прога повисла - из-за чего непонятно, в лог ничего не пишется.
Сегодня отловил причину.
Кратковременная потеря сетевого соединения !
Вот что в логе:
Time from start: 0 days 1 hours 32 mins 28 secs 
Error DBFCDX/1010 Ошибка чтения: \\SERVER\Sklad4.Server\COMMON\NETOPER.DBF (DOS Error 2)
--------------------------------- Stack Trace ---------------------------------
Called from DBGOTOP(0)

Как с этим боротся ?
Хотя бы сообщение об ошибки сети получить можно ?
Есть ли какие функции для сети.
Пробовал при ВИСЯЧЕЙ проге открыть сеть через Проводник, сетевой ресурс открывается.
А программа висит...
У других моих пользователей таких проблем НЕТ вообще...

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 53 , стр: 1 2 3 All [только новые]


постоянный участник


Пост N: 1660
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 01.09.23 15:23. Заголовок: Andrey пишет: По им..


Andrey пишет:

 цитата:
По имени - cNameServer := "\\Сервер\ресурс"


В функции HB_PING2 (и в HB_PING тоже) из имени сервера путем вызова gethostbyname() получают ip-адрес хоста. Что-то мне кажется, что тут могут быть грабли. К примеру, браузер компьютеров не ответил быстро или в файле hosts вызывающей машины есть соответствующая запись - х.з. Чтобы это всё исключить нужно вызывать HB_PING сразу с ip-адресом.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 7534
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 01.09.23 15:56. Заголовок: Спасибо БОЛЬШОЕ ! :..


Спасибо БОЛЬШОЕ !
Переделаю и попробую.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1661
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 01.09.23 16:02. Заголовок: И всё-таки нужно учи..


И всё-таки нужно учитывать, что, даже если сервер пингуется, это не даёт гарантии доступности общего ресурса на нем. Пинг - лишь проверка присутствия хоста в сети.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 7537
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 05.09.23 20:01. Заголовок: PSP пишет: И всё-та..


PSP пишет:

 цитата:
И всё-таки нужно учитывать, что, даже если сервер пингуется, это не даёт гарантии доступности общего ресурса на нем


А как проверить что на общем ресурсе можно создать базу ?
Попытаться создать простой текстовый файл на нём ?
Есть какое то готовое решение с показом ошибок создания/доступа к сетевому ресурсу ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1663
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 05.09.23 20:53. Заголовок: Andrey пишет: А как..


Andrey пишет:

 цитата:
А как проверить что на общем ресурсе можно создать базу ?
Попытаться создать простой текстовый файл на нём ?


Думаю, да. Любой, необязательно текстовый)) Создать, записать что-нить, закрыть, проверить размер (или открыть-прочитать), удалить.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4381
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 05.09.23 20:57. Заголовок: PSP пишет Создать, з..


PSP пишет
 цитата:
Создать, записать что-нить, закрыть, проверить размер (или открыть-прочитать), удалить.


Только использовать новые файловые ф-ии hb_vf...

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1664
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 05.09.23 21:00. Заголовок: А также можно вспомн..


А также можно вспомнить, что есть конструкция

 цитата:
BEGIN SEQUENCE
<комманды>...
[BREAK [<выраж.>]]
<комманды>...
[RECOVER [USING <переменная>]]
<комманды>..
END [SEQUENCE]



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 7538
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 05.09.23 21:15. Заголовок: SergKis пишет: Толь..


SergKis пишет:

 цитата:
Только использовать новые файловые ф-ии hb_vf...


Есть какое то готовое решение с показом ошибок создания/доступа файла на сетевом ресурсе ?
Функция dbCreate( cPath + cDbf, aStr ) не создаёт на сетевом ресурсе базу...

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4382
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 05.09.23 21:21. Заголовок: Andrey пишет Функция..


Andrey пишет
 цитата:
Функция dbCreate( cPath + cDbf, aStr ) не создаёт на сетевом ресурсе базу...


Только использовать новые файловые ф-ии hb_vf...
Для кого было написано
PS
Ссылки уже давал
https://github.com/Petewg/harbour-core/wiki/hb_V
http://www.kresin.ru/hrbfaq_3.html#Doc12

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 7539
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 05.09.23 21:33. Заголовок: Не работают... Вот к..


Не работают... Вот код, случайно пропущен разделить перед файлом:
   ? ProcNL(), hb_vfExists(cDbf), cDbf 
If !hb_vfExists(cDbf)
AlertStop("Нет файла базы !;" + cDbf + ";;" + ProcNL() + ";" + ProcNL(1) )
RETURN .F.
ENDIF

Вот лог:
Вызов из: MYUSEAREA(104) --> util_use.prg .T. \\Сервер\work_uchet\@TEST10test10.dbf

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4383
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 05.09.23 21:49. Заголовок: Andrey IF ( hFile :..


Andrey
 
IF ( hFile := hb_vfOpen( cFile, HB_FO_CREAT ) ) == NIL // FError()
...ошибка создания, вероятно сервер не доступен
ELSE
nLen := hb_vfWrite( hFile, "12345")
IF nLen != Len("12345")
..ошибка записи
ENDIF
IF ( lRet := hb_vfClose( hFile ) )
IF !Empty(nRet := hb_vfErase( cFile))
..ошибка удаления
ENDIF
ELSE
..ошибка Close
ENDIF
ENDIF


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 7540
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 05.09.23 22:03. Заголовок: Andrey пишет: Не ра..


Andrey пишет:

 цитата:
Не работают... Вот код, случайно пропущен разделить перед файлом:


Блин, промашку дал... В другой папке создался файл.
Error DBFCDX/1004 Ошибка создания: \\Сервер\work_uchet2\@TEST10\test10.dbf OS Error: 67=Network name not found

Есть функция проверки сетевого ресурса ?
Или просто проверить папку функцией hb_vfDirExists( cDirName ) ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1665
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 06.09.23 10:50. Заголовок: Andrey пишет: \..


Andrey пишет:

 цитата:
\\Сервер\work_uchet2\@TEST10\test10.dbf OS Error: 67=Network name not found



http://instcomputer.ru/reshenie-problem/sistemnaya-oshibka-67-ne-najdeno-setevoe-imya.html

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 53 , стр: 1 2 3 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 37
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет