【发布时间】:2010-03-12 13:06:27
【问题描述】:
这就是问题所在。用户可以输入数据库的服务器名称和连接字符串。 如果服务器无法访问(地址错误、防火墙或任何其他问题),我希望尽快意识到这一点。
如果我使用 sqlConnection 并尝试连接到不可访问的服务器,这需要很长时间(我认为超过 1 分钟!)。顺便说一句,这与连接超时无关,因此设置此属性无济于事。
我的想法是首先尝试 ping 服务器,如果我得到响应(这意味着服务器可以从应用程序点访问),然后继续使用 sqlConnection。如果 ping 没有响应,操作将中止并正确通知用户。
有没有更好的方法来做到这一点?欢迎任何想法。
忘了指出,我使用的是 NHibernate,所以我不能使用任何 MSSQL 特定的库。此外,目标服务器可以使用 Linux 作为操作系统,而不仅仅是 Windows。
【问题讨论】: