SqlDataSourceEnumerator.GetDataSources Метод

Определение

Извлекает объект DataTable, в котором содержатся сведения обо всех видимых экземплярах SQL Server.

public:
 override System::Data::DataTable ^ GetDataSources();
public override System.Data.DataTable GetDataSources ();
override this.GetDataSources : unit -> System.Data.DataTable
Public Overrides Function GetDataSources () As DataTable

Возвращаемое значение

Объект DataTable, в котором содержатся сведения о видимых экземплярах SQL Server.

Примеры

Следующее консольное приложение извлекает сведения обо всех видимых экземплярах SQL Server и отображает их в окне консоли.

Imports System.Data.Sql  

Module Module1  
  Sub Main()  
    ' Retrieve the enumerator instance and then the data.  
    Dim instance As SqlDataSourceEnumerator = _  
     SqlDataSourceEnumerator.Instance  
    Dim table As System.Data.DataTable = instance.GetDataSources()  

    ' Display the contents of the table.  
    DisplayData(table)  

    Console.WriteLine("Press any key to continue.")  
    Console.ReadKey()  
  End Sub  

  Private Sub DisplayData(ByVal table As DataTable)  
    For Each row As DataRow In table.Rows  
      For Each col As DataColumn In table.Columns  
        Console.WriteLine("{0} = {1}", col.ColumnName, row(col))  
      Next  
      Console.WriteLine("============================")  
    Next  
  End Sub  
End Module  
using System.Data.Sql;  

class Program  
{  
  static void Main()  
  {  
    // Retrieve the enumerator instance and then the data.  
    SqlDataSourceEnumerator instance =  
      SqlDataSourceEnumerator.Instance;  
    System.Data.DataTable table = instance.GetDataSources();  

    // Display the contents of the table.  
    DisplayData(table);  

    Console.WriteLine("Press any key to continue.");  
    Console.ReadKey();  
  }  

  private static void DisplayData(System.Data.DataTable table)  
  {  
    foreach (System.Data.DataRow row in table.Rows)  
    {  
      foreach (System.Data.DataColumn col in table.Columns)  
      {  
        Console.WriteLine("{0} = {1}", col.ColumnName, row[col]);  
      }  
      Console.WriteLine("============================");  
    }  
  }  
}  

Комментарии

Таблица, возвращаемая этим методом, содержит следующие столбцы, все из которых содержат строки:

Столбец Описание
ServerName Имя сервера.
InstanceName Имя экземпляра сервера. Если сервер работает как экземпляр по умолчанию, то поле остается пустым.
IsClustered Указывает, является ли сервер частью кластера.
Version Версия сервера:

10.0.xx для SQL Server 2008
10.50.x для SQL Server 2008 R2
11.0.xx для SQL Server 2012
12.0.xx для SQL Server 2014
13.0.xx для SQL Server 2016
14.0.xx для SQL Server 2017

Примечание

Из-за особенностей механизма, используемого SqlDataSourceEnumerator для поиска источников данных в сети, метод не всегда возвращает полный список доступных серверов, и список может не совпадать при каждом вызове. Если вы планируете использовать эту функцию, чтобы разрешить пользователям выбирать сервер из списка, убедитесь, что вы всегда предоставляете параметр для ввода имени, которое отсутствует в списке, если перечисление сервера не возвращает все доступные серверы. Кроме того, выполнение этого метода может занять значительное количество времени, поэтому будьте осторожны при его вызове, когда производительность критична.

Применяется к

См. также раздел