Почему я получаю эту ошибку «Неустранимая ошибка внутреннего соединения» только в одной из моих хранимых процедур? - PullRequest
2 голосов
/ 08 октября 2010

Эта проблема похожа на эту.

Что вызывает "Внутренние ошибки при фатальном соединении"

За исключением того, что это происходит только с одной хранимой процедурой, происходит постоянно и происходит только тогда, когда я получаю доступ к этой хранимой процедуре с моего сайта.

Я даже запустил хранимую процедуру в SQL Server, и, похоже, она работает нормально.

В чем может быть ошибка?

Ответы [ 2 ]

1 голос
/ 06 апреля 2011

Возможно, это уже исправлено, но ...

Я столкнулся с той же проблемой с некоторыми из моего собственного кода ASP.NET. Исключение выдается случайным образом при вызове SqlDataReader.Close () или SqlDataReader.Dispose () (из внутреннего класса SqlClient.TdsParser).

Мне удалось решить эту проблему, просто воспользовавшись SqlConnection.Close (). Видимо SqlDataReader.Close () просто ненадежен.

Пример:

if (this._Command != null)
{
  this._Command.Cancel();
  this._Command.Dispose();
}
if (this._Connection.State == ConnectionState.Open)
{
  this._Connection.Close();
}
if (this._DataReader != null)
{
  this._DataReader.Dispose();
}
this._Connection.Dispose();
1 голос
/ 08 октября 2010

Как говорится в сообщении, проблема связана с подключением к SQL.

Поскольку он происходит только с одной процедурой, мой запрос состоит в том, что вы оставили какое-то открытое соединение с базой данных непосредственно перед попыткой вызвать эту процедуру хранилища..

Вы можете проверить соединение, включив Perfmon и увидеть пул соединений.Если со временем он увеличивается, то вы оставляете открытыми соединения.

Также проверьте, стабильна ли ваша сеть, используете ли вы LAN, Wan, Интернет, локальный или удаленный?В строке подключения, что вы используете это: 127.0.0.1 / localhost / или реальный IP-адрес?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...