Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];

Вниз

Работа через MS SQL Server клиентов   Найти похожие ветки 

 
_sulent ©   (2004-04-06 08:34) [0]

Доброго дня!
У меня возникла такая проблема! Есть программа, она работает замечательно, все делает прекрасно, но вот если работают люди по сети, с этой программой (как только не пробовал, и через терминал и локально устанавливал программу чтобы по сети работала), она виснет. Причем если они делают одну задачу, т.е. работают с одним набором таблиц, то все работает замечательно, а вот если кто-то из пользователей пытается подгрузить тругую форму с другим набором таблиц, хотя ссылочная целостность сохраняется, все остальные зависают. И могут отвиснуть только тогда, когда "виновник" этого всего полностью закроет программу.
Пробовал и права и подключения одновременные ставить, все равно виснет!
В чем может быть проблема, и как ее можно будет решить?


 
ZrenBy ©   (2004-04-06 09:15) [1]

dbcc opentran что показывает ?


 
_sulent ©   (2004-04-06 09:27) [2]

переведи что это такое, по конкретнее можешь сказать что посмотреть и что проверить?
Вообще что проверять, потому что весь исходник перерыл, все путем...


 
Fiend ©   (2004-04-06 09:54) [3]

Блокировка данных.
Какие то клиенты скажем делают select из таблицы скажем в 100 записей но весь набор не "фетчат", т.к. он им пока что весь не нужен, а другие вдруг делают апдейт для этой же таблицы, что вызывает "подвисание", т.к. селект заблокировал таблицу или страницу данных, это уже зависит от запроса.

Выход - управлять способом блокирования. Скажем при выполнении select указывать опцию with(nolock) - это чтобы выполнить вообще без блокирования данных. И вообще почитай про блокировки. Причиной могут быть так же как уже сказали выше и не завершенные транзакции


 
_sulent ©   (2004-04-06 10:15) [4]

С транзакциями все нормально, а вот это надо посмотреть... Просто эта программа была написана под MS Access, а пришлось переделывать на MS SQL Server. Причем раньше она работала нормально с аксесом, и все работало и не подвисало, просто вот что странно...


 
sniknik ©   (2004-04-06 10:22) [5]

курсор в коомпанентах используеш какой, серверный? да - перейди на локальный.
(и логику работы переделай :)


 
Delirium ©   (2004-04-06 10:24) [6]

"вот что странно..." - ничего странного, работать с уровнями изоляции надо грамотно, раз уж перешёл на серьёзную СУБД. Для начала поставь во всех TADOConnection IsolationLevel в ilReadUncommitted.


 
_sulent ©   (2004-04-06 10:24) [7]

мда... спасибо что не отказали, придется тогда все переделывать, господи.... а тама так много... ну ладно, другого выхода как я понял нет...
спасибо!


 
Fay ©   (2004-04-06 11:25) [8]

2Delirium ©   (06.04.04 10:24) [6]
>> поставь во всех TADOConnection IsolationLevel в lReadUncommitted.

Это, по-вашему, грамотно?


 
_sulent ©   (2004-04-06 12:43) [9]

Дело не в транзакции, я думал уже про это, думал даже на каждую операцию запускать транзакцию, но только что же тогда будет твориться с серваком?!
И вообще пока идет работа с занесением данных транзакция не врубается!
Запускаю я транзакцию только тогда, когда начинаю непосредственную запись! Тогда я просто не допускаю других пользователей на пользование таблиц! Естесственно могут они заниматься просмотром базы, но не редактированием.
Скорее всего просто где-то упустил выключение базы, и она скорее всего на этом деле и вылетает!


 
Delirium ©   (2004-04-06 13:32) [10]

> Fay ©
"Это, по-вашему, грамотно?" - это по нашему решение проблемы "Для начала". Дальнейшие действия, человек предпримет сам, когда получит время изучить вопрос.


 
_sulent ©   (2004-04-06 13:38) [11]

Решение проблемы на поверхности, если что... Уже проблема решена... так что не спорьте...
Спасибо!



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.027 c
4-1078409381
Kreon
2004-03-04 17:09
2004.05.02
ScaleViewportExtEx, логические единицы - как их изменять?


4-1078377183
-=[SDA]=-
2004-03-04 08:13
2004.05.02
Как узнать версию проекта???


9-1069682833
Spose
2003-11-24 17:07
2004.05.02
Как определить версию DirectX 8.1 и старше?


1-1081864866
Rusar
2004-04-13 18:01
2004.05.02
Вопрос по ListView


3-1080817711
Olegka
2004-04-01 15:08
2004.05.02
Данные из двух баз на IB





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский