我试图连接到用户输入的服务器。当服务器不存在时,我想向最终用户提供一个快速反馈,以便他可以更正他输入的内容。C#:DBConnection.Open()超时太长
在尝试连接之前,有任何方法可以测试服务器是否存在吗?
感谢
我试图连接到用户输入的服务器。当服务器不存在时,我想向最终用户提供一个快速反馈,以便他可以更正他输入的内容。C#:DBConnection.Open()超时太长
在尝试连接之前,有任何方法可以测试服务器是否存在吗?
感谢
您的DBConnection是否具有ConnectionTimeout属性?尝试将其设置为一个小数字。
您可以使用SQL Server Management Objects(SMO),以获得SQL Server的列表。有一个如何获得服务器列表here的示例。枚举服务器可能需要一段时间,但您可以始终在应用程序加载时在后台启动它,以便在用户需要选择服务器时进行准备。
您可以随时ping服务器或检查给定的端口是否打开]但这并不能保证您的服务器在连接之前不会脱机。
DbConnection中的ConnectionTimeout属性没有setter。它等待15秒。您需要在连接字符串中指定超时。连接字符串中的“连接超时”以秒为单位。
string connStr = "Data Source=(local);Initial Catalog=AdventureWorks;" +
"Integrated Security=SSPI;Connection Timeout=5";
谢谢,我会尝试。 – leo 2010-03-23 14:22:32