Condividi tramite


SqlDataSourceEnumerator.GetDataSources Metodo

Definizione

Recupera DataTable contenente informazioni su tutte le istanze visibili di 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

Restituisce

DataTable contenente informazioni sulle istanze visibili di SQL Server.

Esempio

L'applicazione console seguente recupera informazioni su tutte le istanze di SQL Server visibili e visualizza le informazioni nella finestra della console.

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("============================");  
    }  
  }  
}  

Commenti

La tabella restituita da questo metodo contiene le colonne seguenti, tutte contenenti stringhe:

Colonna Descrizione
ServerName Nome del server.
InstanceName Nome dell'istanza del server. Vuota se il server è in esecuzione come istanza predefinita.
IsClustered Indica se il server fa parte di un cluster.
Version Versione del server:

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

Nota

A causa della natura del meccanismo utilizzato da SqlDataSourceEnumerator per individuare le origini dati in una rete, il metodo non restituirà sempre un elenco completo dei server disponibili e l'elenco potrebbe non essere lo stesso in ogni chiamata. Se si prevede di usare questa funzione per consentire agli utenti di selezionare un server da un elenco, assicurarsi di fornire sempre un'opzione per digitare un nome non incluso nell'elenco, nel caso in cui l'enumerazione server non restituisca tutti i server disponibili. Inoltre, questo metodo può richiedere molto tempo per l'esecuzione, quindi prestare attenzione a chiamarlo quando le prestazioni sono critiche.

Si applica a

Vedi anche