我正在编写一个快速应用程序,该应用程序向用户显示他或她可以选择连接到 SQL Server 数据库的服务器名称/实例列表。基本上我试图将这些选项填充到一个组合框中,它应该有类似于这些的选项:
- (当地的)
- 乔-PC\SQLEXPRESS
- 等等
我已经通过ADO.NET成功获取了一个服务器对应的数据库,以及它们各自的表。但是,我找不到任何允许我检索上述数据的代码示例。
我正在编写一个快速应用程序,该应用程序向用户显示他或她可以选择连接到 SQL Server 数据库的服务器名称/实例列表。基本上我试图将这些选项填充到一个组合框中,它应该有类似于这些的选项:
我已经通过ADO.NET成功获取了一个服务器对应的数据库,以及它们各自的表。但是,我找不到任何允许我检索上述数据的代码示例。
一种方法是使用 SQL Browser 服务。您可以使用SqlDataSourceEnumerator
枚举所有运行 SQL Browser 服务的 SQL Server 实例。
该GetDataSources
方法将返回可用实例的 DataTable。MSDN 文档也提供了一个代码示例。
这与 SQL Server Management Studio 将用于在连接对话框中填充其服务器下拉列表的机制相同。
这样做的肮脏方法是拥有一个尝试连接到所有服务器的服务。如果连接失败,您知道服务器处于脱机状态,并且不将该服务器作为可行选项发布。