Я получаю следующую ошибку, когда пытаюсь подключить производственную базу данных из локальной среды.
Раньше мне удавалось подключить производственную базу данных, но внезапно появляется следующая ошибка, есть идеи?
Соединение с сервером было успешно установлено, но затем произошла ошибка во время квитирования перед входом в систему. (поставщик: поставщик TCP, ошибка: 0 - дескриптор недействителен.)
Я пытался запустить веб-сайт asp.net на локальном ПК, у которого есть строка подключения к производственной БД, а затем трассировка стека для ошибки, которую я получаю в локальной среде.
> at MyWebsiteDAL.clsForumQuestion.SelectAll(Int32 CurrentPageIndex, Int32 PageSize) in D:\EDrive\My WebSites\MyWebsite\MyWebsite\MyWebsiteDAL\clsForumQuestion.cs:line 821
at CodeConnect.Default.Page_Load(Object sender, EventArgs e) in D:\EDrive\My WebSites\MyWebsite\MyWebsite\MyWebsite\Default.aspx.cs:line 100
at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
at System.Web.UI.Control.OnLoad(EventArgs e)
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Есть идеи, что здесь могло пойти не так?
.net
sql-server
sql-server-2008
ado.net
database-connection
Джордон Уиллис
источник
источник
Ответы:
Решение
1) Очистите свое решение VS.Net
2) Восстановить проект.
3) Сбросить IIS
4) Снова запустите проект.
В основном это решило мою проблему, но в моем случае я не получал эту ошибку, и внезапно моя локальная среда начинает выдавать мне указанную выше ошибку, так что, возможно, этот трюк сработает для меня.
источник
- Сохраните свою работу,
- Закройте Visual Studio, затем
- повторно откройте свой проект.
У меня всегда работает.
источник
У меня сработала следующая команда:
Видно на https://serverfault.com/a/487139/250527
источник
reset
требуется перезагрузка системы.У меня возникла эта ошибка при запуске некоторых процессов, требующих очень больших затрат памяти. Когда в системе стало не хватать памяти, я стал замечать такую ошибку. Мне пришлось изменить алгоритм, чтобы лучше использовать оперативную память.
Следует отметить, что в то время как некоторые потоки вызвали это исключение, другие выбросили:
Обе проблемы исчезли после того, как система была изменена, чтобы она могла работать с меньшим объемом оперативной памяти.
источник
У меня была та же проблема, я хранил данные сеанса в базе данных, в строке подключения было Encrypt = True , которое, как я полагаю, сообщило клиенту sql подключиться к серверу в безопасном (SSL) режиме, удаление этого помогло!
источник
Вы можете проверить несколько вещей:
Ваш производственный сервер разрешает удаленные подключения. (возможно, кто-то отключил это, особенно если у вас есть администратор баз данных)
Проверьте строку подключения. Иногда, если вы используете IP-адрес или имя сервера, это вызывает эту ошибку. Попробуйте оба.
источник
В моем случае эта ошибка возникла с точечным сетевым ядром и
Microsoft.Data.SqlClient
. Решением было добавить;TrustServerCertificate=true
в конец строки подключения.источник
В моем случае это было:
Persist Security Info=True;
в моей строке подключения, которую нужно было удалить. Как только я это сделал, у меня больше не было проблем.
источник
Как описано в ответе Рикардо ,
работал на меня,
PS, если у вас есть диспетчер загрузок в Интернете или такие программы, которые изменяют ваш IP-адрес, установлен, то после запуска этой команды при перезагрузке компьютера IDM попросит изменить настройку, в этом случае установите NO, а затем запустите приложение, оно будет работать правильно.
Надеюсь на это
источник
У меня была аналогичная проблема, когда я не мог подключиться к базе данных и попробовал рекомендации здесь.
В конце концов, у меня сработало следующее:
Использовал средство диспетчера конфигурации SQL Server для включения протоколов TCP / IP и / или именованных каналов на клиентском компьютере SQL Server.
Я до сих пор не знаю, почему и когда это было отключено.
источник
Для меня решение - убить зомби-рабочие процессы IIS Express.
например, найти в диспетчере задач и завершить задачу.
источник
У меня была такая же проблема, и мне не повезло с предлагаемыми исправлениями. Затем я наткнулся на эту статью и увидел комментарий Мирра о программе под названием Сендори, блокирующей LSP. Не знаю, как он попал на мой компьютер, но он был там, и его удаление устранило проблему.
Если статья не работает, просто проверьте свои программы и удалите Sendori, если вы ее видите.
источник
Я перезапустил службу SQL Server (Sharepoint), и проблема была решена.
источник
У меня возникла точно такая же проблема без изменений базы кода или серверов. Оказалось, что сервер БД работал на 100% ЦП, а SQL Server не хватало процессорного времени, что вызвало тайм-аут.
источник
Была такая же проблема много дней. Мне пришлось явно добавить поддержку TLS1.2 в мой основной проект, чтобы устранить эту ошибку, и все работало нормально. (ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;)
См. Ссылку ниже для более подробной информации (спасибо автору Усману Хуршиду) https://www.itechtics.com/connection-successfully-established-error-occured-pre-login-handshake/
источник
Пробовал большую часть вышеперечисленного, но ничего не помогло Затем отключил программное обеспечение VPN (NordVPN), и все стало нормально.
источник
Я пробовал много решений за последний месяц, ни одно не помогло. Проблема в том, что производственная база данных находится внутри VPN, и почему-то поставщик услуг Интернета считает, что HTTP-соединение небезопасно. Однако мне удалось подключиться к той же производственной БД из SSMS (использует TCP).
Мое решение: использовать мобильный телефон в качестве точки доступа и использовать мобильные данные вместо моего офиса / домашнего Wi-Fi.
источник
Была та же проблема, причиной этого была библиотека BCrypt.Net, скомпилированная с использованием платформы .NET 2.0, в то время как весь проект, который ее использовал, компилировался с .NET 4.0. Если симптомы те же, попробуйте загрузить исходный код BCrypt и перестроить его в конфигурации выпуска в .NET 4.0. После того, как я это сделал, «рукопожатие перед входом» сработало нормально. Надеюсь, это кому-нибудь поможет.
источник
Я столкнулся с этой ошибкой и выполнил все ваши предложения, ребята, но ни один из них не повлиял на мою ошибку.
Я поймал виновника: если вы используете
*.ini
файл для своей системы, вы можете проверить, какое имя сервера было введено туда, и убедиться, что оно такое же, как и в строке подключения web.config.источник
Здесь та же проблема, и ни один из перечисленных здесь ответов не работал, и я не мог найти никаких решений в Интернете. Проблема возникла вскоре после применения юбилейного обновления Windows 10 на моем компьютере разработчика и затронула только мой старый экземпляр SQL Server 2005. Мне не удалось подключиться к экземпляру через свои веб-приложения или даже с помощью Sql Management Studio.
Как бы то ни было, вот что решило это для меня:
Откройте диспетчер конфигурации SQL Server (в зависимости от того, какую версию SQL Server вы используете):
Выберите службы SQL Server
Найдите проблемную службу и просмотрите свойства
На вкладке «Вход в систему» измените «Встроенная учетная запись» на «Сетевая служба».
Это почти то, что говорило это случайное решение: http://www.kutayzorlu.com/operating-systems/linux-unix-redhat-debian-ubuntu-opensuse-centos/general-server-administrating/error-fixed-a-connection -was-success-installed-with-the-server-but-then-an-error-separated-during-the-pre-login-handshake-12405.html
Я выбрал сетевую службу без всякой причины. Мой уже был настроен на использование локальной системы. Эта безопасность не имеет для меня значения, поскольку она была проблематичной только на моей локальной машине разработки, доступ к которой осуществлялся только локально. Я не могу сказать, почему это работает, но это так.
источник
В моем случае я получал ошибку, когда хотел получить доступ к удаленной базе данных. Однако я решил это, запустив службу браузера SQL Server.
источник
Если вы подключаетесь к старому SQL Server:
Переключитесь с System.Data. SqlClient.SqlConnection к System.Data. OleDb.OleDbConnection
Используйте строку подключения OleDb:
источник
В моем случае повторное включение TLS 1.0 на сервере БД решило эту проблему.
источник