Estou recebendo o seguinte erro ao tentar conectar o banco de dados de produção do ambiente local.
Consegui conectar o Production DB antes, mas de repente estou recebendo o seguinte erro, alguma ideia?
Uma conexão foi estabelecida com sucesso com o servidor, mas ocorreu um erro durante o handshake pré-login. (provedor: Provedor TCP, erro: 0 - O identificador é inválido.)
Eu estava tentando executar o site asp.net em um PC local, que tem a cadeia de conexão do banco de dados de produção, a seguir está o rastreamento de pilha para o erro que estou obtendo no ambiente local.
> 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)
Alguma ideia do que pode ter dado errado aqui?
.net
sql-server
sql-server-2008
ado.net
database-connection
Jordon Willis
fonte
fonte
Respostas:
Solução
1) Limpe sua solução VS.Net
2) Projeto de reconstrução.
3) Redefinir IIS
4) Execute o projeto novamente.
Basicamente isso resolveu meu problema, mas no meu caso eu não estava recebendo esse erro e de repente meu ambiente local começou a me dar o erro acima, então pode ser que esse truque funcione para mim.
fonte
- Salve seu trabalho,
- Feche o Visual Studio e
- Reabra seu projeto
Sempre funciona para mim.
fonte
Executar o seguinte comando funcionou para mim:
Visto em https://serverfault.com/a/487139/250527
fonte
reset
necessário reiniciar o sistema.Eu experimentei esse erro ao executar alguns processos que exigem muita memória. Quando o sistema começou a ficar sem memória, comecei a notar esse tipo de erro. Tive que mudar o algoritmo para fazer um melhor uso da RAM.
Note-se que enquanto alguns tópicos lançaram esta exceção, alguns outros lançaram:
Ambos os problemas desapareceram depois que o sistema foi alterado para que pudesse ser executado usando menos RAM.
fonte
Eu tive o mesmo problema, estava armazenando dados da sessão no banco de dados, a string de conexão tinha Encrypt = True nela, que presumo que disse ao cliente sql para se conectar ao servidor no modo seguro (SSL), removendo isso ajudou!
fonte
Você pode querer verificar algumas coisas:
Seu servidor de produção permite conexões remotas. (possível que alguém tenha desativado isso, especialmente se você tiver um DBA)
Verifique sua string de conexão. Às vezes, se você estiver usando um endereço IP ou nome de servidor, isso causará este erro. Experimente ambos.
fonte
No meu caso foi:
Persist Security Info=True;
na minha string de conexão que precisava ser removida. Depois que fiz isso, não tive mais problemas.
fonte
Conforme descrito na resposta de Ricardo ,
funcionou para mim,
PS: se você tiver um gerenciador de download da Internet ou programas que alteram a configuração de IP, estão instalados, depois de executar este comando ao reinicializar o computador, o IDM pedirá para alterar a configuração. Defina NÃO neste caso e execute o aplicativo, ele funcionará corretamente.
Espero
fonte
Tive um problema semelhante ao não conseguir me conectar a um banco de dados e tentei as recomendações aqui.
No final do dia, isso é o que funcionou para mim:
Usou a ferramenta SQL Server Configuration Manager para habilitar os protocolos TCP / IP e / ou Named Pipes no computador cliente SQL Server.
Ainda não sei por que ou quando isso foi desativado.
fonte
No meu caso, esse erro ocorreu com dot net core e
Microsoft.Data.SqlClient
. A resolução era adicionar;TrustServerCertificate=true
ao final da string de conexão.fonte
Para mim, a solução é matar os processos de trabalho expresso do IIS zumbi.
por exemplo, localize no Gerenciador de Tarefas e finalize a tarefa.
fonte
Eu tive o mesmo problema e não estava tendo sorte com as correções sugeridas. Então me deparei com este artigo e vi o comentário de Mirrh sobre um programa chamado Sendori bloqueando o LSP. Não tenho ideia de como chegou ao meu computador, mas lá estava e removê-lo corrigiu o problema.
Se o artigo não funcionar, verifique seus programas e desinstale o Sendori, caso o veja.
fonte
Reiniciei o serviço SQL Server (Sharepoint) e ele resolveu o problema.
fonte
Eu estava tendo exatamente o mesmo problema sem alterações na base de código ou nos servidores. Descobriu-se que o servidor de banco de dados estava funcionando com 100% da CPU e o SQL Server estava sem tempo de CPU, o que causou o tempo limite.
fonte
Tive o mesmo problema por muitos dias. Tive que adicionar explicitamente suporte a TLS1.2 em meu projeto principal para resolver esse erro e funcionou bem. (ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;)
Veja o link abaixo para mais detalhes (graças ao autor Usman Khurshid) https://www.itechtics.com/connection-successfully-established-error-occured-pre-login-handshake/
fonte
Tentei a maioria das opções acima e nada funcionou. Em seguida, desliguei o software VPN (NordVPN) e estava tudo bem.
fonte
Tentei muitas soluções no mês passado, nenhuma funcionou. O problema é que o banco de dados de produção está dentro de uma VPN e, de alguma forma, o provedor ISP acha que a conexão HTTP não é segura. No entanto, consegui me conectar ao mesmo banco de dados de produção do SSMS (usa TCP).
Minha solução: usar o telefone celular como um ponto de acesso e usar dados móveis em vez do Wi-Fi do meu escritório / casa.
fonte
Teve o mesmo problema, o motivo para isso foi a biblioteca BCrypt.Net, compilada no framework .NET 2.0, enquanto todo o projeto, que o utilizou, foi compilado com .NET 4.0. Se os sintomas forem os mesmos, tente baixar o código-fonte do BCrypt e reconstruí-lo na configuração de versão no .NET 4.0. Depois de fazer isso, o "handshake pré-login" funcionou bem. Espero que ajude alguém.
fonte
Eu experimentei esse erro e fiz todas as sugestões de vocês aqui, mas nenhuma surtiu efeito no meu erro.
Eu peguei o culpado: se você está usando um
*.ini
arquivo para o seu sistema, você pode querer verificar qual nome de servidor foi inserido lá e certificar-se de que é o mesmo que está em sua string de conexão web.config.fonte
O mesmo problema aqui e nenhuma resposta listada funcionou, nem qualquer solução que eu pudesse encontrar online. O problema começou logo depois que a atualização de aniversário do Windows 10 foi aplicada em meu PC de desenvolvimento e afetou apenas minha antiga instância do SQL Server 2005. Não consegui me conectar à instância por meio de meus aplicativos da Web ou mesmo usando Sql Management Studio.
Se valer a pena, isto é o que resolveu para mim:
Abra o SQL Server Configuration Manager (dependendo de qual versão do SQL Server você está executando):
Selecione os serviços do SQL Server
Localize o serviço com problemas e veja as Propriedades
Na guia Logon, altere a "Conta interna" para "Serviço de rede"
O que é quase o que esta solução aleatória disse: http://www.kutayzorlu.com/operating-systems/linux-unix-redhat-debian-ubuntu-opensuse-centos/general-server-administrating/error-fixed-a-connection -foi-estabelecido-com-sucesso-com-o-servidor-mas-então-ocorreu-um-erro-durante-o-pré-login-handshake-12405.html
Escolhi o serviço de rede sem nenhum motivo. O meu já estava configurado para usar o sistema local. Essa segurança não importa para mim, pois era problemática apenas na minha máquina de desenvolvimento local, acessada apenas localmente. Não posso dizer por que isso funciona, mas funcionou.
fonte
No meu caso, estava recebendo o erro quando queria acessar um banco de dados remoto. No entanto, resolvi isso iniciando o serviço SQL Server Browser.
fonte
Se você estiver se conectando a um SQL Server antigo:
Mude de System.Data. SqlClient.SqlConnection to System.Data. OleDb.OleDbConnection
Use uma string de conexão OleDb:
fonte
No meu caso, a reativação do TLS 1.0 no servidor de banco de dados resolveu esse problema.
fonte