powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Работа .Net SqlClient Data Provider в разных версиях Windows /.Net
14 сообщений из 14, страница 1 из 1
Работа .Net SqlClient Data Provider в разных версиях Windows /.Net
    #40019391
AR®
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опытным путём обнаружено, что программа, написанная на C# и скомпилированная когда-то с настройкой Target Framework = .Net Framework 4, активно использующая обмен с MS SQL Server с использованием .Net SqlClient, вызывает эскалацию блокировок, будучи запущенной под Windows 10 с её встроенным .Net .

При работе с другими ОС (в том числе серверными от Win2008R2 до Win2016) ничего подобного не наблюдается.
Куда начинать смотреть для решения проблемы?
...
Рейтинг: 0 / 0
Работа .Net SqlClient Data Provider в разных версиях Windows /.Net
    #40019393
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что такое "встроенный в Windows 10 .Net"?
...
Рейтинг: 0 / 0
Работа .Net SqlClient Data Provider в разных версиях Windows /.Net
    #40019405
AR®
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
:)
Который ставится сразу при установке Win10, а не доустанавливается потом.
...
Рейтинг: 0 / 0
Работа .Net SqlClient Data Provider в разных версиях Windows /.Net
    #40019408
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AR®,
разве тип блокировки не в тексте команды устанавливается? А если не установлен, то берется дефолтный по настройкам MS SQL сервера?
...
Рейтинг: 0 / 0
Работа .Net SqlClient Data Provider в разных версиях Windows /.Net
    #40019415
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AR®
:)
Который ставится сразу при установке Win10, а не доустанавливается потом.

А полный сценарий использования SqlClient какой?
...
Рейтинг: 0 / 0
Работа .Net SqlClient Data Provider в разных версиях Windows /.Net
    #40019435
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AR®
Опытным путём обнаружено, что программа, написанная на C# и скомпилированная когда-то с настройкой Target Framework = .Net Framework 4, активно использующая обмен с MS SQL Server с использованием .Net SqlClient, вызывает эскалацию блокировок, будучи запущенной под Windows 10 с её встроенным .Net .

При работе с другими ОС (в том числе серверными от Win2008R2 до Win2016) ничего подобного не наблюдается.
Куда начинать смотреть для решения проблемы?


Про опытный путь и эскалацию блокировок понравилось, пробрало даже

1. Что такое "вызывает эскалацию блокрировок"?
2. Т.е. я так понимаю, посмотреть в профайлере на "активный обмен" - даже мысли не было
...
Рейтинг: 0 / 0
Работа .Net SqlClient Data Provider в разных версиях Windows /.Net
    #40019508
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин
1. Что такое "вызывает эскалацию блокрировок"?

Повышение гранулярности блокировки, наверное.
Если полностью совпадает сценарий действий при работе "с другими ОС" и с Win10, то снять профайлером планы проблемных обращений, и сравнить. Если планы отличаются - в первую очередь проверить set-параметры соединения - здесь есть разъяснение, как эти параметры могут влиять на план.
...
Рейтинг: 0 / 0
Работа .Net SqlClient Data Provider в разных версиях Windows /.Net
    #40019509
AR®
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vb_sub
AR®,
разве тип блокировки не в тексте команды устанавливается? А если не установлен, то берется дефолтный по настройкам MS SQL сервера?


Устанавливается и прекрасно работает, пока клиент запущен не на Win10. По меньшей мере, до 100 соединений, конкурирующих за данные в одной таблице.
Полный сценарий во всех подробностях не скажу, но общий смысл там такой.
Есть таблица с "планом работ", клиентское приложение должно получить "задание" из плана (1 запись), ещё не "взятое в работу" другими, и пометить его как взятое. После "выполнения задания" (несколько минут) пометить ту же запись как "выполненную".
...
Рейтинг: 0 / 0
Работа .Net SqlClient Data Provider в разных версиях Windows /.Net
    #40023632
AR®
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В выходные покопался, похоже, дело не только в Win10.
...
Рейтинг: 0 / 0
Работа .Net SqlClient Data Provider в разных версиях Windows /.Net
    #40023670
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
AR®,

А если перекомпилировать под 4.6, то проблема пропадает?
А вы явно блокировки указываете?

На мой взгляд дело в увеличении размера базы, произошедшего со времени компиляции приложения
...
Рейтинг: 0 / 0
Работа .Net SqlClient Data Provider в разных версиях Windows /.Net
    #40076182
AR®
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
За прошедшие полгода дело стало хуже. :)
В дополнение к ранее описанным проблемам стала выскакивать довольно известная ошибка
"There is already an open DataReader associated with this Command which must be closed first."
Ничего не перекомпилировалось с незапамятных времён.
Такое ощущение, что два экземпляра клиентского приложения, будучи запущенными на одном и том же компьютере, начинают использовать один и тот же DataReader, хотя это и не возможно.
...
Рейтинг: 0 / 0
Работа .Net SqlClient Data Provider в разных версиях Windows /.Net
    #40076202
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
посмотрите что у вас с режимом MARS
...
Рейтинг: 0 / 0
Работа .Net SqlClient Data Provider в разных версиях Windows /.Net
    #40076288
AR®
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То-то и оно, что MARS... был выключен, точнее не включен явно, и все работало много лет.
Проблемы начались с распространением Win10, вчера пришлось таки перекомпилировать проектик, написав MARS=true (и найдя предварительно VS2010, в которой было когда-то это сделано).
...
Рейтинг: 0 / 0
Работа .Net SqlClient Data Provider в разных версиях Windows /.Net
    #40076390
AR®
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С включением MARS=true стала возникать, правда не часто, другая ошибка:

Unhandled Exception: System.Data.SqlClient.SqlException:
The server failed to resume the transaction. Desc:4200000001.
The transaction active in this session has been committed or aborted by another session.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Работа .Net SqlClient Data Provider в разных версиях Windows /.Net
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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