|
|
|
Проблема с приложением
|
|||
|---|---|---|---|
|
#18+
Приложение написано на Visual Basic, работает с SQL Server 2000. Когда программа работает только с одного компьютера - всё нормально, но при одновременной работе с нескольких машин приложение через некоторое время "виснет", хотя в диспетчере задач отображается как работающая. В какую сторону копать подскажите кто знает, плз. Заранее всем спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2006, 16:13:40 |
|
||
|
Проблема с приложением
|
|||
|---|---|---|---|
|
#18+
Слишком общий вопрос чтобы что то конкретно ответить. Блокировки используете? Курсоры на стороне сервера используете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2006, 16:22:16 |
|
||
|
Проблема с приложением
|
|||
|---|---|---|---|
|
#18+
Нет никаких блокировок и курсоров. Есть хранимые процедуры. Работаю через объекты ADODB. Не понятно в какую сторону сиотреть, так как приложения могут повиснуть даже в том случае, когда они просто запущены. А, вот еще, Data Source ODBC, то есть базу в приложение я прописываю как [DSN=baze] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2006, 16:27:37 |
|
||
|
Проблема с приложением
|
|||
|---|---|---|---|
|
#18+
прописаны ли для каждого пользователя роли по отношению к базам SQL для каждой проги на компе прописать пользователя SQL 2000 может так зависать не будет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2006, 16:41:55 |
|
||
|
Проблема с приложением
|
|||
|---|---|---|---|
|
#18+
и еще LockType для Adodc посмотри но это может быть причиной при выполнении запроса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2006, 16:46:25 |
|
||
|
Проблема с приложением
|
|||
|---|---|---|---|
|
#18+
Программу пока тестирую, так что пользователей всего два dbo и пользователь из домена, у которого ко всем таболицам и храню процедурам базы полный доступ. А для каждой проги прописать пользователя на компе это как? вопрос глупый, наверное, но это первая серьёзная задача, котрую я пробую.(хотя может мне кажится, что серьёзная ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2006, 16:47:50 |
|
||
|
Проблема с приложением
|
|||
|---|---|---|---|
|
#18+
наверное лучше начать с другого. вставь логирование всех ошибок во все процедуры/функции/свойства своего приложения, а затем смотри по логам , где и почему свалилась/зависла твоя прикладуха ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2006, 16:50:17 |
|
||
|
Проблема с приложением
|
|||
|---|---|---|---|
|
#18+
Konst_Oneнаверное лучше начать с другого. вставь логирование всех ошибок во все процедуры/функции/свойства своего приложения, а затем смотри по логам , где и почему свалилась/зависла твоя прикладуха Да ладно по логам... В отладке разве не видно причину? Да и с базой лучше работать через OLEDB. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2006, 17:05:41 |
|
||
|
Проблема с приложением
|
|||
|---|---|---|---|
|
#18+
А транзакции используете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2006, 17:08:01 |
|
||
|
Проблема с приложением
|
|||
|---|---|---|---|
|
#18+
А про курсоры на стороне сервера вы меня не поняли: Это рекордсет с курсором на стороне сервера. Достаточно открыть динамический курсор из изменить в нем одно поле чтобы заблокировать эту запись. То же самое - транзакции. Достаточно начать транзакцию перед чтением данных и вы заблокировали в лучшем случае часть записей. В любом из этих случаев можно не дождаться CommandTimeout. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2006, 17:13:02 |
|
||
|
Проблема с приложением
|
|||
|---|---|---|---|
|
#18+
Я бы начал со счетчиков производительности и профайлера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2006, 17:20:39 |
|
||
|
Проблема с приложением
|
|||
|---|---|---|---|
|
#18+
strizzzРаботаю через объекты ADODB.DSN=baze]И этих ADODB-шек много на формах, и все они лезут каждая через свой коннекшн? - То же можно получить ситуацию которую не разгрести. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2006, 17:25:54 |
|
||
|
Проблема с приложением
|
|||
|---|---|---|---|
|
#18+
Worobjoff так а если запись заблокироана, то как я понимаю должна выскачит ошибка какая-нить.. или может и так реагировать("зависанием" приложения)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2006, 17:28:28 |
|
||
|
Проблема с приложением
|
|||
|---|---|---|---|
|
#18+
Worobjoff да, достаточно, но лезет все через один конекшн. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2006, 17:30:19 |
|
||
|
Проблема с приложением
|
|||
|---|---|---|---|
|
#18+
strizzz Worobjoff так а если запись заблокироана, то как я понимаю должна выскачит ошибка какая-нить.. или может и так реагировать("зависанием" приложения)? Никакой ошибки не выскочит, сервер просто будет ждать, пока запись освободится. Пока не отвалится по таймауту. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2006, 17:45:27 |
|
||
|
Проблема с приложением
|
|||
|---|---|---|---|
|
#18+
Worobjoff strizzzРаботаю через объекты ADODB.DSN=baze]И этих ADODB-шек много на формах, и все они лезут каждая через свой коннекшн? - То же можно получить ситуацию которую не разгрести. согласен с Worobjoff если у тебя Ado исползуется на форамах как Tools то при каждом открытии он начинает конектится, лучше использовать програмно адо рекордсеты, при необходимости их создовать, но это лишь ускорит процесс, но не решит твою проблемму, на счает коннекшн я так понимаю это DSN файл что бы прописать пользователей нужно в SQL 2000 создать пользователя с паролем или без привязать его к конкретной базе с определенными приоритетами в DSN файле прописать на каждой машине конкретного пользователя который ты создал в SQL server примерно так при открытии файла через нотепад [ODBC] DRIVER=SQL Server UID=sa (имя пользователь sql) DATABASE=master(используемая база ) WSID=Dom(имя домена в windo//) APP=Microsoft Open Database Connectivity SERVER=SERVER (имя сервера) Description=servercon еще один вопрос есть ли у тебя где нибудь в коде при создании рекордсета или соннекшн оператор On Error Resume Next если да то причиной зависания может быть и этот оператор замени его на метку с выходом из процедуры ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2006, 07:31:23 |
|
||
|
Проблема с приложением
|
|||
|---|---|---|---|
|
#18+
TIKO Реордсеты использую програмно. По поводу пользователей, то я поставил в SQL Servere windows аутентификацию и выбрав нужного пользователя нарисовал ему права в SQL Servere. Может тут какие-нить особенности настройки? Еще одно предположение: возможно по неопытности я сделал неправильно. У меня в программе используется, в принципе, всего 2 рекордсета. 1 - я использую для вывода базы в грид, а 2-ой переодически создавая и убивая пользую для вызова хр. процедур. Не знаю насколько это правильно, но во всяком случае, когда программа запущена только с машины на которой стоит скуль-сервер все работает. Melkiades нет, такого у меня нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2006, 12:15:59 |
|
||
|
Проблема с приложением
|
|||
|---|---|---|---|
|
#18+
Могу посоветовать вот что поставь в проперти скл идент и под винду и под скл потом с польз. машины подправь соединение DSN на sa и пароль пустой если конечно его не вводили при установке запусти программу если есть разница то проблема с скл установках или поставь скл энтрпрайз(польз. версию) на поль.машину открой и попробуй запустить свою процедурку через запросник скл-а ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2006, 13:53:08 |
|
||
|
Проблема с приложением
|
|||
|---|---|---|---|
|
#18+
Никогда не использовал DSN да и не вижу смысла. ADO напрямую работает с SQL Server. И очень хорошо. При этом можно пользоваться доверительным соединением (если используется Windows -авторизация). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2006, 14:29:16 |
|
||
|
Проблема с приложением
|
|||
|---|---|---|---|
|
#18+
всем спасибо, вроде заработало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2006, 18:08:27 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=33481056&tid=2166568]: |
0ms |
get settings: |
9ms |
get forum list: |
22ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
199ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
80ms |
get tp. blocked users: |
1ms |
| others: | 192ms |
| total: | 525ms |

| 0 / 0 |
