不规则:SQL连接错误:System.Data.SqlClient.SqlException(0x80131904)

问题描述 投票:0回答:1

我有一个简单的应用程序,从几个数据库中提取条目,然后使用selenium打开一个chrome窗口并粘贴表单中的信息。该代理每五分钟运行一次。

我查看了日志,此错误偶尔会出现。在尝试查找有关此问题的信息时,我发现的唯一“修复”与防火墙阻塞端口或其他应该“持久”的问题有关,例如DB不再存在/更改名称或凭据。

我的情况的问题是这个错误只发生在某些天的一两次,其他日子它从未发生过。如果这是端口/数据库名称的问题,我认为每次代理运行时都会发生此错误。代理每天运行288次,就像我提到的那样,这种情况只发生在代理的总运行次数上。

我遇到了一个答案,表明这可能与代理主机上的网络问题有关。

我很感激任何可能导致这个问题的想法。

System.Data.SqlClient.SqlException(0x80131904):已成功与服务器建立连接,但在登录过程中发生错误。 (提供程序:SSL提供程序,错误:0 - 指定的网络名称不再可用。)---> System.ComponentModel.Win32Exception(0x80004005):System.Data.SqlClient.SqlInternalConnectionTds中不再提供指定的网络名称。 .ctor(DbConnectionPoolIdentity标识,SqlConnectionString connectionOptions,SqlCredential凭证,Object providerInfo,String newPassword,SecureString newSecurePassword,Boolean redirectedUserInstance,SqlConnectionString userConnectionOptions,SessionData reconnectSessionData,DbConnectionPool pool,String accessToken,Boolean applyTransientFaultHandling,SqlAuthenticationProviderManager sqlAuthProviderManager)at ...

c# .net sql-server
1个回答
0
投票

我认为原因可以找到here

“应用程序假设SQL连接始终可用(在运行命令之前不进行检查或测试),因此当线路出现故障或任何使连接断开/关闭时,应用程序会生成该消息。

要重现,只需在SQL服务器上终止SQL会话,你就会得到类似的消息。“

修复是添加一个检查以确保可以建立连接并添加重试/延迟+重试

© www.soinside.com 2019 - 2024. All rights reserved.