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