|
Error: 4021 Resetting the connection results in a different state than the initial login.
|
|||
---|---|---|---|
#18+
При попытке посредством ADO.NET при открытии соединения выполнить SET CONTEXT_INFO прилетело exceptionInnerException Message: Resetting the connection results in a different state than the initial login. The login fails. Login failed for user 'blah-blah-blah'. google 'ние привело на http://www.sqlserverf1.com/tag/resetting-the-connection-results-in-a-different-state-than-the-initial-login-the-login-fails/ Error: 4021, Severity: 16, Resetting the connection results in a different state than the initial login. The login fails. дальнейшее google 'ние ничего вменяемого не дало... Можете пояснить этиологию событий? Из-за чего она возникла? Как можно воссоздать ее? _________________ "Helo, word!" - 17 errors 56 warnings ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2015, 11:45 |
|
Error: 4021 Resetting the connection results in a different state than the initial login.
|
|||
---|---|---|---|
#18+
Ex_Soft, Мне кажется, это может быть что то, связанное с необработкой результата предыдущего запроса. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2015, 12:03 |
|
Error: 4021 Resetting the connection results in a different state than the initial login.
|
|||
---|---|---|---|
#18+
alexeyvgEx_Soft, Мне кажется, это может быть что то, связанное с необработкой результата предыдущего запроса.Или этого запроса - может, вы использовали вызов ADO.NET с получением рекордсета. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2015, 12:04 |
|
Error: 4021 Resetting the connection results in a different state than the initial login.
|
|||
---|---|---|---|
#18+
alexeyvgМне кажется, это может быть что то, связанное с необработкой результата предыдущего запроса. Ex_Softпри открытии соединения Грубо говоря это выглядит так: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
или Вы подразумеваете, что в честном физическом connection'е, полученном из пула, остался какой-то мусор? alexeyvgИли этого запроса - может, вы использовали вызов ADO.NET с получением рекордсета. Дык... Еще ж ничего не начинает запрашиваться... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2015, 12:21 |
|
Error: 4021 Resetting the connection results in a different state than the initial login.
|
|||
---|---|---|---|
#18+
Ex_SoftДык... Еще ж ничего не начинает запрашиваться...А "SetContext" - это что, это же ваша функция? Она использует коннект, выполняет в нём запрос к серверу, в контексте базы данных? И вообще, я не понимаю, connection.Open() - открывает коннект. ДО этого проверяется статус коннекта - если он открыт, делаем запрос... А потом уже выполняем открытие коннекта :-) Я вообще не специалист по C#, не программировал на нём уже давно, новые веяния языка прошли мимо меня, так что извините, если что :-) Эксепшен то на какой строке возникает, на connection.Open()? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2015, 12:46 |
|
Error: 4021 Resetting the connection results in a different state than the initial login.
|
|||
---|---|---|---|
#18+
Ex_SoftГрубо говоря это выглядит так: Ex_SoftПри попытке посредством ADO.NET при открытии соединения выполнить SET CONTEXT_INFO прилетело Непонятно в вашем сообщении, при каком действии прилетает эксепшен. Из исходного текста следует, что при выполнении SQL-запроса к базе данных "SET CONTEXT_INFO" Для выполнения SQL-запросов соединение, естественно, УЖЕ должно быть установлено. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2015, 12:51 |
|
Error: 4021 Resetting the connection results in a different state than the initial login.
|
|||
---|---|---|---|
#18+
alexeyvgА "SetContext" - это что, это же ваша функция? Она использует коннект, выполняет в нём запрос к серверу, в контексте базы данных? Угу... Только не запрос, а Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
alexeyvgИ вообще, я не понимаю, connection.Open() - открывает коннект. ДО этого проверяется статус коннекта - если он открыт, делаем запрос... А потом уже выполняем открытие коннекта :-) Я вообще не специалист по C#, не программировал на нём уже давно, новые веяния языка прошли мимо меня, так что извините, если что :-) Эксепшен то на какой строке возникает, на connection.Open()? То ж - обработчик. Он дергается при смене State connection'а. Т.е. когда connection открывается (его State изменился) - дергается этот метод. В конечном итоге на сервант уходит Код: sql 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2015, 12:59 |
|
Error: 4021 Resetting the connection results in a different state than the initial login.
|
|||
---|---|---|---|
#18+
'Связывает до 128 байт бинарных данных с текущим сеансом или соединением. Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2015, 13:03 |
|
Error: 4021 Resetting the connection results in a different state than the initial login.
|
|||
---|---|---|---|
#18+
Konst_One'Связывает до 128 байт бинарных данных с текущим сеансом или соединением. Да я на это уже смотрел. Не в этом дело. Это не единственное соединение, открытое под этим юзвером, до этого и после этого - все сухо. Мало того - приложение находится в промышленной эксплуатации и юзает его довольно-таки довольно большое кол-во людей. И у них все oB! Это я просто по результатам анализа log'ов приложения пытаюсь разобраться в ситуации. Чел же продолжает фунциклировать дальше. Ошибка не повторяется. Вот я и хочу в голове прокрутить, как можно ее добиться/воссоздать. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2015, 13:11 |
|
Error: 4021 Resetting the connection results in a different state than the initial login.
|
|||
---|---|---|---|
#18+
Ex_SoftУгу... Только не запрос, аПочему не запрос? Это и называется "выполняется запрос к базе данных, методом ExecuteNonQuery" Ex_SoftТо ж - обработчик. Он дергается при смене State connection'а. Т.е. когда connection открывается (его State изменился) - дергается этот метод.А, то есть вызывается new SqlConnection(connectionString), потом connection.Open(), а потом, когда статус коннекта меняется, вызывается код SetContext(connection)? Понятно. Непонятно, почему так замысловато, почему нельзя написать: Код: sql 1. 2. 3.
Вроде и текста меньше нужно вбивать :-) Ну ладно, неважно. Что то другое, значит :-( ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2015, 13:25 |
|
Error: 4021 Resetting the connection results in a different state than the initial login.
|
|||
---|---|---|---|
#18+
Ex_SoftalexeyvgЭксепшен то на какой строке возникает, на connection.Open()? То ж - обработчик. Он дергается при смене State connection'а. Т.е. когда connection открывается (его State изменился) - дергается этот метод.Да, так вы на вопрос не ответили - на какой строке эксепшен случается? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2015, 13:26 |
|
Error: 4021 Resetting the connection results in a different state than the initial login.
|
|||
---|---|---|---|
#18+
alexeyvgНепонятно, почему так замысловато, почему нельзя написать: Код: sql 1. 2. 3.
Вроде и текста меньше нужно вбивать :-)Вот мне просто интересен ваш подход. При выполнении запросов, на каждый запрос в конце вы выполняете ещё один запрос - установку контекста? Ведь, как я понимаю, при типичном выполнении любого запроса статус меняется последовательно: Executing Fetching (если запрос что то возвращает) Open При возврату к статусу "Open" опять вызывается ваш обработчик, т.е. после выполнения любого вашего запроса вы как минимум один раз выполняете в завершение ещё один запрос установки контекста? Я не ошибаюсь? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2015, 13:42 |
|
Error: 4021 Resetting the connection results in a different state than the initial login.
|
|||
---|---|---|---|
#18+
alexeyvgВедь, как я понимаю, при типичном выполнении любого запроса статус меняется последовательно: Executing Fetching (если запрос что то возвращает) Open При возврату к статусу "Open" опять вызывается ваш обработчик, т.е. после выполнения любого вашего запроса вы как минимум один раз выполняете в завершение ещё один запрос установки контекста? Я не ошибаюсь? https://msdn.microsoft.com/en-us/library/system.data.common.dbconnection.statechange.aspx DbConnection.StateChange Event Occurs when the state of the event changes. The StateChange event occurs when the state of the event changes from closed to opened, or opened to closed. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2015, 15:03 |
|
Error: 4021 Resetting the connection results in a different state than the initial login.
|
|||
---|---|---|---|
#18+
Ex_Soft Можете пояснить этиологию событий? Из-за чего она возникла? Как можно воссоздать ее? хотя и прошла туча лет с того момента, как это спросили, но мало ли, вдруг кому пригодится. такая ошибка может вывалиться, если сменить язык логину, который уже открыл соединение. и вот когда он делает reset connection, такое и получает. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2020, 12:19 |
|
|
start [/forum/topic.php?fid=46&fpage=46&tid=1685551]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
29ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 16ms |
total: | 148ms |
0 / 0 |