次の方法で共有


SqlDataSourceEnumerator.GetDataSources メソッド

定義

参照できる SQL Server のインスタンスに関する情報が格納された DataTable を取得します。

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

戻り値

参照できる SQL Server のインスタンスに関する情報が格納された DataTable

次のコンソール アプリケーションは、表示されているすべての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("============================");  
    }  
  }  
}  

注釈

このメソッドによって返されるテーブルには、次の列が含まれており、そのすべてが文字列を含みます。

Column 説明
ServerName サーバーの名前。
InstanceName サーバー インスタンスの名前。 サーバーが既定のインスタンスとして実行されている場合は空白です。
IsClustered サーバーがクラスターの一部であるかどうかを示します。
Version サーバーのバージョン:

SQL Server 2008 の場合は 10.0.xx
SQL Server 2008 R2 の場合は 10.50.x
SQL Server 2012 の場合は 11.0.xx
SQL Server 2014 の場合は 12.0.xx
SQL Server 2016 の場合は 13.0.xx
SQL Server 2017 の場合は 14.0.xx

注意

ネットワーク上のデータ ソースを検索するために によって SqlDataSourceEnumerator 使用されるメカニズムの性質上、 メソッドは常に使用可能なサーバーの完全な一覧を返すとは限りません。また、呼び出しのたびに一覧が同じとは限りません。 この関数を使用してユーザーが一覧からサーバーを選択できるようにする場合は、サーバー列挙で使用可能なすべてのサーバーが返されない場合に備えて、リストにない名前を入力するオプションも常に指定してください。 さらに、このメソッドの実行にはかなりの時間がかかる場合があるため、パフォーマンスが重要な場合は呼び出しに注意してください。

適用対象

こちらもご覧ください