SqlClientFactory.CanCreateDataSourceEnumerator Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets a value that indicates whether a SqlDataSourceEnumerator can be created.
public:
virtual property bool CanCreateDataSourceEnumerator { bool get(); };
public override bool CanCreateDataSourceEnumerator { get; }
member this.CanCreateDataSourceEnumerator : bool
Public Overrides ReadOnly Property CanCreateDataSourceEnumerator As Boolean
Property Value
true
if a
SqlDataSourceEnumerator
can be created; otherwise,
false
.
Examples
The following example displays a list of all available SQL Server data sources, using code that could enumerate data sources for any provider.
using System;
using System.Data;
using System.Data.Common;
using Microsoft.Data.SqlClient;
class Program
{
static void Main()
{
// List all SQL Server instances:
ListServers(SqlClientFactory.Instance);
Console.WriteLine();
Console.WriteLine("Press any key to continue...");
Console.ReadKey();
}
private static void ListServers(DbProviderFactory factory)
{
// This procedure is provider-agnostic, and can list
// instances of any provider's servers. Of course,
// not all providers can create a data source enumerator,
// so it's best to check the CanCreateDataSourceEnumerator
// property before attempting to list the data sources.
if (factory.CanCreateDataSourceEnumerator)
{
DbDataSourceEnumerator instance =
factory.CreateDataSourceEnumerator();
DataTable table = instance.GetDataSources();
foreach (DataRow row in table.Rows)
{
Console.WriteLine("{0}\\{1}",
row["ServerName"], row["InstanceName"]);
}
}
}
}
Remarks
The DbProviderFactory class provides the CanCreateDataSourceEnumerator property so that inheritors can indicate
whether they can provide a data source enumerator. The SqlClientFactory displays this property, but its value is always true
.