SqlDataSourceEnumerator.GetDataSources Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Recupera un objeto DataTable que contiene información sobre todas las instancias visibles de 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
Devoluciones
DataTable que contiene información sobre las instancias visibles de SQL Server.
Ejemplos
La siguiente aplicación de consola recupera información sobre todas las instancias de SQL Server visibles y muestra la información en la ventana de la consola.
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("============================");
}
}
}
Comentarios
La tabla devuelta por este método contiene las columnas siguientes, todas las cuales contienen cadenas:
Columna | Descripción |
---|---|
ServerName | Nombre del servidor. |
InstanceName | Nombre de instancia del servidor. En blanco si el servidor se ejecuta como la instancia predeterminada. |
IsClustered | Indica si el servidor forma o no parte de un clúster. |
Versión | Versión del servidor: 10.0.xx para SQL Server 2008 10.50.x para SQL Server 2008 R2 11.0.xx para SQL Server 2012 12.0.xx para SQL Server 2014 13.0.xx para SQL Server 2016 14.0.xx para SQL Server 2017 |
Nota
Debido a la naturaleza del mecanismo utilizado por SqlDataSourceEnumerator para localizar orígenes de datos en una red, el método no siempre devolverá una lista completa de los servidores disponibles y es posible que la lista no sea la misma en cada llamada. Si tiene previsto usar esta función para permitir que los usuarios seleccionen un servidor de una lista, asegúrese de que siempre proporcione una opción para escribir un nombre que no esté en la lista, en caso de que la enumeración del servidor no devuelva todos los servidores disponibles. Además, este método puede tardar una cantidad significativa de tiempo en ejecutarse, por lo que debe tener cuidado de llamarlo cuando el rendimiento sea crítico.