0

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

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

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

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

对于可能导致此问题的任何想法,我将不胜感激。

System.Data.SqlClient.SqlException (0x80131904):与服务器建立连接成功,但随后在登录过程中出错。(提供者:SSL Provider,错误:0 - 指定的网络名称不再可用。)---> System.ComponentModel.Win32Exception (0x80004005):指定的网络名称在 System.Data.SqlClient.SqlInternalConnectionTds 不再可用。 .ctor(DbConnectionPoolIdentity 身份,SqlConnectionString connectionOptions,SqlCredential credential,对象 providerInfo,String newPassword,SecureString newSecurePassword,Boolean redirectedUserInstance,SqlConnectionString userConnectionOptions,SessionData reconnectSessionData,DbConnectionPool 池,String accessToken,Boolean applyTransientFaultHandling,SqlAuthenticationProviderManager sqlAuthProviderManager)在……</p>

4

1 回答 1

0

我认为原因可以在这里找到

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

要重现,只需终止 SQL 服务器上的 SQL 会话,您将得到相同的类似消息。”

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

于 2019-03-19T17:06:47.410 回答