SqlDataAdapter.Fill ждет завершения
От: Аноним  
Дата: 10.10.10 20:49
Оценка:
Привет народ.
Помогите решить задачу.
SQl Server 2008 Express Edition.
Работаю с БД следующим образом, один пользователь вытягивает на себя DataTable больших размеров и с ним работает, а потом делает
dataAdatper.Update(table) на сервер.
Одновременно с этим другой пользователь пытается сделать селект из очень маленькой таблицы себе в DataTable, делает он это так:

SqlDataAdapter dAdapt = null;
dAdapt = new SqlDataAdapter(sqlString, sqlCon);
dAdapt.SelectCommand.CommandTimeout = 0;
dAdapt.Fill(table);

таблица реально очень маленькая буквально пару записей.
И вот проблема в том, что код зависает на строке dAdapt.Fill(table); и ждет пока пользователь1 не заапдейтит свой DataTable, и только после этого отрабатывается.
Сразу скажу, что пользователя работают под коннешнстрингами каждый для своего логина, и что самое интересное с разными таблицами, не пойму почему идет такое пересечение?
Sql Profiler поставить не могу т.к. версия сервера Express.

Также пробовал SqlDataAdapter заменить на SqlDataReader вот так:
SqlCommand cmd = new SqlCommand("SELECT * FROM [" + tableName + "] " + filter, sqlCon);
SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
table.Load(dr);

результат аналогичный, зависает на строке cmd.ExecuteReader.

Подскажите куда рыть плз.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.