Форум » Clipper » ADS4NW: может выдавать коннект номер 0 для рабочей станции. Why ? » Ответить

ADS4NW: может выдавать коннект номер 0 для рабочей станции. Why ?

p519446: В общем, сабж. Запускаю прогу, она всегда выдаёт при старте номер своего netware-коннекта (должно быть число > 0). Но иногда она выдаёт число ноль. И в консоли АДСа для этого соединения тоже вижу 0. Но в NW Monitor'e для этой рабочей станции, конечно же, обычное положительное число. Раньше я думкал, что это бывает из-за двух сетевых карт на одной машине, криво настроенных протоколов, глюкавого NW-клиента и прочее. Но сейчас вижу, что это не так: подключился с нормальной машины с одной картой, клиент 4.90 SP2 от 2004 года (безглючный). Кто работает еще с АДСом под нетварью - что скажете, от чего такое может быть ?

Ответов - 26, стр: 1 2 All

Dima: p519446 пишет: Кто работает еще с АДСом под нетварью - что скажете, от чего такое может быть ? Похоже мы остались двое , ты и я ;) Но я уже перелез под win+ads+harbour p519446 пишет: Запускаю прогу, она всегда выдаёт при старте номер своего netware-коннекта (должно быть число > 0) Это чем ты проверяешь такой коннект ? Подобного плана глюков у себя не помню в Clipper+ADS+Netware. PS ADS 5.6 + Netware 4.x

p519446: Номер коннекта определяю так: AX_UserLockID() Returns the connection number of the station that has a record locked ──────────────────────────────────────────────────────────────────────────── Syntax AX_UserLockID( [<nRecordNumber>] ) -> numeric <nRecordNumber> An optional record number to obtain the connection number. If no record number is given, the current record number is used. Returns Returns a numeric value representing the NetWare connection number of the workstation which has a record locked with Advantage. Многократно сверял его с тем, что выводится в нетварь-мониторе - всё совпадает. Но иногда - "не очень" совпадает :-)

Dima: [pre2] AX_UserLockID() возвращает номер станции в NetWare, которая заблоки- ровала указанную запись посредством ADS. Если ни один пользователь Advantage не заблокировал указанную запись, функция возвращает (-1). [/pre2]


Pasha: Dima пишет: Похоже мы остались двое , ты и я ;) Клиппер уже почти умер. Судя по всему, comp.lang.clipper постигнет судьба fido7.ru.clipper. Сообщений там уже почти нет. Но это процесс естественный. Альтернатива же клипперу есть.

p519446: > Если ни один пользователь Advantage не заблокировал указанную запись, функция возвращает (-1) ну дык я и блокирую первую свободную запись в таблице, где хранится инфа о зарегистрированных в данный момент усерах. > Альтернатива же клипперу есть. XHarbour ? еще бы знать, сколько на нём народу сидит и как долго работу по нему искать придется, в случае чего :-)

nick_mi: И я пока работаю под CLIPPER + ADS + NETWARE , но, наверное, осенью буду переходить на HARBOUR + ADS + WIN. Сейчас активно переводятся все программы на HARBOUR. А с указанной ошибкой сталкиваться не приходилось

Dima: nick_mi пишет: ну дык я и блокирую первую свободную запись в таблице, где хранится инфа о зарегистрированных в данный момент усерах. а если блокировка не удалась , что вернет ? nick_mi пишет: И я пока работаю под CLIPPER + ADS + NETWARE Привет коллеге по цеху ;)

Pasha: p519446 пишет: XHarbour ? еще бы знать, сколько на нём народу сидит и как долго работу по нему искать придется, в случае чего :-) Мало сидит. Харбор-сообщество маленькое, особенно в СНГ. В других странах бывает побольше. Работу искать можно долго, можно и не найти совсем. Для этого знание харбора мало подходит. А вот для модернизации существующих клиппер-программ лучше харбора ничего нет.

Dima: Pasha пишет: А вот для модернизации существующих клиппер-программ лучше харбора ничего нет +1

p519446: > а если блокировка не удалась , что вернет ? тогда к таблице просто делаю dbAppend() и блокировка таки удастся :-) А уж если и dbAppend обломится, то вывожу в цикле мессагу, что типа "Странное чё-то происходит. Ждите или нажмите Esc..." :-D

p519446: Pasha пишет: Работу искать можно долго, можно и не найти совсем. Для этого знание харбора мало подходит. Вот поэтому я и не горю желанием тратить время на перевод проги с ~5000 функциями и ~250 тыс строк кода под харбор. Нет "политического заказа" - нет проблемы :-D

Dima: p519446 я перевел свою буквально за 3-4 дня (потом была полировка). Почти 5 метров исходников , 350 prg , сколько функций не считал , много ;)

p519446: Dima пишет: перевел свою буквально за 3-4 дня Какие плюсы в итоге появились ? Сильно ли увеличилось быстрод-вие ?

Dima: p519446 Пошустрее конечно работает. Да плюсов много , как и новых возможностей. Тесты быстродействия на форуме уже приводились.

p519446: ну, я вообще-то задумывался где-то год взад о переводе на харбор... но затем эта бесконечная "текучка" опять помешала. А сейчас, когда руководством решено 1с ставить, мне уже точно похрену это всё. Буду работу, видимо, искать в обозримом будущем.

Dima: p519446 пишет: А сейчас, когда руководством решено 1с ставить, мне уже точно похрену это всё Если под терминал сервером то он больше 10 юзеров и не потянет что бы можно было комфортно и быстро работать , так что работу не потеряешь ;) А вот переделанная твоя задача под Harbour + Ads , потянет и не один десяток юзеров да и базы тяжелые в легкую а 1с окочурится уже при лимоне записей.

p519446: Они хочут 1с в связке с ораклом (или с мс скл, если с орацлом не взлетит :)). Что там у 1с с производительностью, я наслышан, но убеждать тут никого не хочу. Пущай сами огребут по-полной. Dima пишет: А вот переделанная твоя задача под Harbour + Ads , потянет и не один десяток юзеров да и базы Да она и сейчас тащит спокойно 190-200 коннектов (при числе усеров около 150-160). Специально спрашиваю периодически усеров, нет ли где тормозов - пока не жалуются. Число записей в базе для меня значения не имеет, т.к. оперативные данные физически отделены от архивных (каждый месяц делаю регламентное "закрытие периода"). Есть таблицы с 15 лямами строк, размером более 1 Гб (одна - 2.5 Гб) Но для усеров всё остается прозрачным, т.е. они не чувствуют "подвоха" и думают, что база едина и неделима :-) Ну, а титанический труд по переводу всего и вся на работу с транзакциями дал мне возможность спокойно спать и ездить в отпуск :-) Жаль только, что репликация в АДСе сделана лишь под видну и линух. "Новелл не в моде ныне" // почти (С)

Dima: p519446 пишет: Пущай сами огребут по-полной. Чую что огребут да еще как ;)

Dima: p519446 пишет: Да она и сейчас тащит спокойно 190-200 коннектов (при числе усеров около 150-160) А что за контора такая большая , если не секрет ? ;) Чем занимается ? ЗЫ У мну опыт не более 50 юзеров под ADS.

p519446: Автосервис в Москве, 8 дилерств под одной крышей.

p519446: ЗЫ. Автосалон (продажа а/м) - на другой проге, а запчасти + сервис - на моей.

Dima: p519446 пишет: а запчасти + сервис - на моей да мы коллеги по цеху (в смысле по проге) , тоже такая у мну есть. полагаю тебе знакомы слова Intercar Польша , кроссы по запчастям и тд и тп;)

p519446: хм... как ни странно, но - нет, не слыхал. это логистика у тебя там ?

Dima: p519446 пишет: Запускаю прогу, она всегда выдаёт при старте номер своего netware-коннекта (должно быть число > 0). Но иногда она выдаёт число ноль. Да бывает такое сам на такое попал с AdsIsConnectionAlive спустя 8 дней не прерывной работы приложения (возможно сетка отвалилась на какие то доли секунды), поэтому нужно перепроверять по таймауту , у меня он 10 секунд.

p519446: а что ты делаешь, если проверка выдала коннект с номером 0 ? заставляешь юзера перегрузить прогу или что ?

Dima: p519446 По идее надо сделать реконнект , но я просто выхожу из проги , так как потестить не где в связи с тем что все крутится на одном компе и сервер и клиент. Говорю о связке Harbour+Ads+Tcp/ip



полная версия страницы