SqlDataSourceEnumerator.GetDataSources Metod

Definition

Hämtar en DataTable som innehåller information om alla synliga SQL Server instanser.

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

Returer

En DataTable som innehåller information om de synliga SQL Server instanserna.

Exempel

Följande konsolprogram hämtar information om alla synliga SQL Server instanser och visar informationen i konsolfönstret.

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

Kommentarer

Tabellen som returneras med den här metoden innehåller följande kolumner, som alla innehåller strängar:

Kolumn Description
ServerName Namnet på servern.
InstanceName Namnet på serverinstansen. Tomt om servern körs som standardinstans.
IsClustered Anger om servern är en del av ett kluster.
Version Serverns version:

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

Note

På grund av vilken typ av mekanism som används för SqlDataSourceEnumerator att hitta datakällor i ett nätverk returnerar metoden inte alltid en fullständig lista över tillgängliga servrar och listan kanske inte är densamma vid varje anrop. Om du planerar att använda den här funktionen för att låta användare välja en server i en lista kontrollerar du att du alltid också anger ett alternativ för att skriva in ett namn som inte finns i listan, om serveruppräkningen inte returnerar alla tillgängliga servrar. Dessutom kan det ta lång tid att köra den här metoden, så var försiktig med att anropa den när prestandan är kritisk.

Gäller för

Se även