Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / "Повисание" приложения при обращении к БД / 25 сообщений из 37, страница 1 из 2
03.11.2004, 16:04
    #32767068
Fasimba
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Повисание" приложения при обращении к БД
===============================
Упёрся в проблему:
К серверу подключаются два клиента.
UID и PWD у обоих клиентов - имена компьютеров, с которых идёт подключение.
Оба клиента входят в общую группу.
Тот, кто успел подключиться к БД первым, работает нормально.
У того, кто подключается вторым, статус всегда DB_EXECUTE.
После соединения с базой данных, видимо при первой же операции чтения (записи?) приложение у второго клиента "повисает" навсегда.

Вопросы: почему происходит "зависание", что это за статус DB_EXECUTE и как его можно (нужно) изменить?
Сервер и клиенты Sybase SQL Anywhere 5.0.

P.S. В администрировании базы данных я практически дубина-дубиной, поэтому очень прошу в объяснениях по возможности сделать на это скидку. Спасибо.
================================
...
Рейтинг: 0 / 0
03.11.2004, 16:27
    #32767113
Dim2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Повисание" приложения при обращении к БД
FasimbaВ администрировании базы данных я практически дубина-дубиной
Не трогай то, в чём ничего не понимаешь.
...
Рейтинг: 0 / 0
03.11.2004, 16:44
    #32767158
Fasimba
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Повисание" приложения при обращении к БД
Dim2000 FasimbaВ администрировании базы данных я практически дубина-дубиной
Не трогай то, в чём ничего не понимаешь.
Спасибо! Это наверное, лучший ответ на мой вопрос, но приложение всё равно повисает...
...
Рейтинг: 0 / 0
03.11.2004, 16:53
    #32767181
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Повисание" приложения при обращении к БД
Может быть что угодно - от лицензирования сервера только на одно подключение до ситуации, что первый клиент что то пишет в БД и не коммитит данные, а второй пытается их считать и ждет освобождения блокировки. Перво наперво нужно посмотреть - коннектиться ли ISQL к БД, когда уже работает первый клиент.
...
Рейтинг: 0 / 0
03.11.2004, 18:28
    #32767446
Fasimba
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Повисание" приложения при обращении к БД
Да, ISQL коннектится, попробовал выполнить простой SELECT. Работает.
По поводу лицензирования сервера: Multi-user Per seat.
...
Рейтинг: 0 / 0
03.11.2004, 18:36
    #32767457
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Повисание" приложения при обращении к БД
Теперь попробуйте запустить первого клиента, далее второго, чтобы он завис, далее запустите ISQL и выполните в нем:
Код: plaintext
CALL sa_locks ();
и посмотрите, что эта процедура по текущим блокировкам в БД выдаст.

P.S. Не факт правда, что эта процедура есть в 5-ой версии.
...
Рейтинг: 0 / 0
03.11.2004, 19:35
    #32767562
Fasimba
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Повисание" приложения при обращении к БД
Procedure 'sa_locks' not found.
Один клиент блокирует другого. Т.е. если закрыть первого клиента, второй тут же оживает. Причём один раз мне удалось присоединить их обоих. Но повторить ситуацию никак не могу. Копать в сторону исходников?
...
Рейтинг: 0 / 0
03.11.2004, 20:44
    #32767605
mustlive
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Повисание" приложения при обращении к БД
А если попробовать не per seat, a второй вариант (concurrent)?
...
Рейтинг: 0 / 0
03.11.2004, 22:18
    #32767651
Fasimba
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Повисание" приложения при обращении к БД
===================================
Нашёл несколько процедур с префиксом sa_:
sa_db_info();
sa_conn_info();
sa_db_properties();
sa_eng_properties();
sa_conn_properties();

Процедура sa_conn_properties() выдаёт:

Type of active request:
у первого - нет, у второго - DB_EXECUTE.

Connection Blocked on:
у первого = 0, у второго = 2120842322.
===================================
mustliveА если попробовать не per seat, a второй вариант (concurrent)?
Это тот вариант, который при установке СУБД что-то требует? (дискетку с ключом?). Если да, то у меня ключа нет. Именно эту версию СУБД вроде бы кто-то когда-то привёз из штатов и она по-моему не взломанная (хотя точно утверждать не могу). Если подскажете, как ей пользоваться, как официально зарегистрированной, буду благодарен.
...
Рейтинг: 0 / 0
03.11.2004, 23:45
    #32767675
mustlive
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Повисание" приложения при обращении к БД
Да, требует дискету.

А если с одного компьютера два одинаковых пользователя заходят (т.е. две копии программы запустить) - нормально работает или тоже виснет?

Процедуры насоветованные можешь не искать, они появились гораааздо позже.
А точно у тебя какая версия? 5.х.х.х????
...
Рейтинг: 0 / 0
04.11.2004, 17:26
    #32769331
Fasimba
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Повисание" приложения при обращении к БД
mustlive
А если с одного компьютера два одинаковых пользователя заходят (т.е. две копии программы запустить) - нормально работает или тоже виснет?
Тоже виснет.
mustlive
А точно у тебя какая версия? 5.х.х.х????
Sybase SQL Anywhere Network Server Version 5.5.01 Build #1333.
...
Рейтинг: 0 / 0
04.11.2004, 17:42
    #32769372
Dim2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Повисание" приложения при обращении к БД
ASCRUSМожет быть что угодно - от лицензирования сервера только на одно подключение
Насколько я помню, если заканчиваются лицензии на коннект - следующий просто не может подконнектиться, но ничего не виснет.

до ситуации, что первый клиент что то пишет в БД и не коммитит данные, а второй пытается их считать и ждет освобождения блокировки.
Судя по ответу от 22:18 - второе.
...
Рейтинг: 0 / 0
04.11.2004, 17:43
    #32769375
Dim2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Повисание" приложения при обращении к БД
Fasimba
Процедура sa_conn_properties() выдаёт:

Type of active request:
у первого - нет, у второго - DB_EXECUTE.

Connection Blocked on:
у первого = 0, у второго = 2120842322.
Типичная блокировка.

Fasimba5.5.01 Build #1333.
Традиционный ответ в подобных случаях - "приложи последние сервиспаки". Впрочем, я абсолютно не уверен, что это что-то изменит.
...
Рейтинг: 0 / 0
04.11.2004, 18:52
    #32769505
Fasimba
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Повисание" приложения при обращении к БД
Dim2000 ASCRUS
до ситуации, что первый клиент что то пишет в БД и не коммитит данные, а второй пытается их считать и ждет освобождения блокировки.
Судя по ответу от 22:18 - второе.
Попробую посмотреть исходники клиента.
...
Рейтинг: 0 / 0
04.11.2004, 23:36
    #32769709
tchingiz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Повисание" приложения при обращении к БД
Fasimba
хочешь пороюсь свою версию 5.5 поищу?
у меня на ней работал склад 3 года с 5 рабочими местами (at least)
...
Рейтинг: 0 / 0
05.11.2004, 12:29
    #32770409
Vadim Romanenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Повисание" приложения при обращении к БД
У меня была замечена похожая проблема. И по симптомам - как раз блокирование таблицы без коммита. Как было - в isql имзенил данные в таблице, и забыл поставить commit. Потом при открытии клиента при обращении к измененной таблице он тупо затыкался. Потом поставил commit в isql - и все отмерло. Вот так вот.

ПС: Версия - почти как и у автора вопроса, ASA 5.5.03#1666
ППС: Проблему так и не решил, потому что в условиях моей задачи особо не нужно обеспечить параллельный доступ к БД из нескольких клиентов.
...
Рейтинг: 0 / 0
05.11.2004, 17:41
    #32771285
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Повисание" приложения при обращении к БД
Vadim RomanenkoКак было - в isql имзенил данные в таблице, и забыл поставить commit. Потом при открытии клиента при обращении к измененной таблице он тупо затыкался. Потом поставил commit в isql - и все отмерло. Вот так вот.
Ну это, извините, не проблема. Это совершенно правильное поведение сервера. Вот ошибкой оператора это назвать можно.
...
Рейтинг: 0 / 0
11.11.2004, 19:53
    #32778423
Fasimba
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Повисание" приложения при обращении к БД
Нашлась ошибка на клиенте. При записи в базу данных не во всех случаях выполнялся COMMIT.
Спасибо всем за помощь.

tchingizFasimba
хочешь пороюсь свою версию 5.5 поищу?
у меня на ней работал склад 3 года с 5 рабочими местами (at least)
Она поддерживает больше 10 клиентов? Хочу.
...
Рейтинг: 0 / 0
11.11.2004, 22:47
    #32778543
mustlive
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Повисание" приложения при обращении к БД
Если включить интеллект, можно получить unlimited edition ;-)
...
Рейтинг: 0 / 0
12.11.2004, 03:41
    #32778621
Fasimba
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Повисание" приложения при обращении к БД
mustliveЕсли включить интеллект, можно получить unlimited edition ;-)
Файл какой-то подправить? Я догадался?
...
Рейтинг: 0 / 0
12.11.2004, 15:33
    #32780031
mustlive
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Повисание" приложения при обращении к БД
Правильным путем идете, товарищ.
...
Рейтинг: 0 / 0
14.11.2004, 09:02
    #32781189
tchingiz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Повисание" приложения при обращении к БД
Fasimba я тебя не заметил
хорошо я выложу гдето
...
Рейтинг: 0 / 0
14.11.2004, 09:07
    #32781190
tchingiz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Повисание" приложения при обращении к БД
фасимба пришли свое мыло
...
Рейтинг: 0 / 0
15.11.2004, 05:52
    #32781499
Fasimba
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Повисание" приложения при обращении к БД
tchingizфасимба пришли свое мылоE-mail выслал.


mustliveПравильным путем идете, товарищ.А этот файл нужно менять до или после установки?
...
Рейтинг: 0 / 0
15.11.2004, 15:01
    #32782447
mustlive
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Повисание" приложения при обращении к БД
После.

Но можно и до. Если вас не интересует результат :)
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / "Повисание" приложения при обращении к БД / 25 сообщений из 37, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]