我有一个需要连接到亚马逊RDS托管的SQL Server数据库的C#应用程序。通常它会抛出错误
建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供者:命名管道提供程序,错误:40 - 无法打开与SQL Server的连接)
当它这样做时,它通常适用于下一次尝试。所以我想在我的应用程序中为查询添加一个程序化的“重试”。我认为这个(https://stackoverflow.com/a/4822976/1011724)看起来像是一个很好的模式。但是,该答案仅重试以下错误:
private enum RetryableSqlErrors
{
Timeout = -2,
NoLock = 1204,
Deadlock = 1205,
WordbreakerTimeout = 30053,
}
那么有没有办法简单地添加这个错误?如果是这样,错误代码是什么?看这里(https://msdn.microsoft.com/en-us/library/cc645611.aspx),没有错误40,也不是错误-1的确切措辞。
我的错误是SqlException
吗?如果有的话是多少?如果没有,我如何调整上面链接的答案中的代码来解释这种类型的例外?