An OracleDataSourceEnumerator object allows applications to generically obtain a collection of data sources to connect to.
System.Object
System.DbDataSourceEnumerator
Oracle.DataAccess.Client.OracleDataSourceEnumerator
// C# public sealed class OracleDataSourceEnumerator : DbDataSourceEnumerator
| Provider | ODP.NET, Unmanaged Driver | ODP.NET, Managed Driver |
| Assembly | Oracle.DataAccess.dll |
Oracle.ManagedDataAccess.dll |
| Namespace | Oracle.DataAccess.Client |
Oracle.ManagedDataAccess.Client |
| .NET Framework | 3.5, 4.0, 4.5, 4.6 | 4.0, 4.5, 4.6 |
All public static methods are thread-safe, although instance methods do not guarantee thread safety.
// C#
using System;
using System.Data;
using System.Data.Common;
using Oracle.DataAccess.Client;
class DataSourceEnumSample
{
static void Main()
{
string ProviderName = "Oracle.DataAccess.Client";
DbProviderFactory factory = DbProviderFactories.GetFactory(ProviderName);
if (factory.CanCreateDataSourceEnumerator)
{
DbDataSourceEnumerator dsenum = factory.CreateDataSourceEnumerator();
DataTable dt = dsenum.GetDataSources();
// Print the first column/row entry in the DataTable
Console.WriteLine(dt.Columns[0] + " : " + dt.Rows[0][0]);
Console.WriteLine(dt.Columns[1] + " : " + dt.Rows[0][1]);
Console.WriteLine(dt.Columns[2] + " : " + dt.Rows[0][2]);
Console.WriteLine(dt.Columns[3] + " : " + dt.Rows[0][3]);
Console.WriteLine(dt.Columns[4] + " : " + dt.Rows[0][4]);
}
else
Console.Write("Data source enumeration is not supported by provider");
}
}
See Also:
OracleDataSourceEnumerator members are listed in the following tables.
OracleDataSourceEnumerator Constructor
OracleDataSourceEnumerator Public Methods are listed in Table 6-62.
Table 6-62 OracleDataSourceEnumerator Method
| Method | Description |
|---|---|
|
Instantiates a new instance of the OracleDataSourceEnumerator class |
See Also:
OracleDataSourceEnumerator Public Methods
OracleDataSourceEnumerator Public Methods are listed in Table 6-63.
OracleDataSourceEnumerator constructor creates new instances of an OracleDataSourceEnumerator class.
// C# public OracleDataSourceEnumerator();
The OracleDataSourceEnumerator static method is listed in Table 6-64.
Table 6-64 OracleDataSourceEnumerator Method
| Method | Description |
|---|---|
|
Returns a |
See Also:
This method returns a DataTable object with information on all the TNS alias entries in the tnsnames.ora file and entries retrieved from the LDAP servers configured in ldap.ora if LDAP naming is enabled.
// C# public override DataTable GetDataSources();
A DataTable object.
This method returns a DataTable object for each TNS alias entry that exists in the tnsnames.ora file and each entry retrieved from the LDAP servers. If a tnsnames.ora file is not found and LDAP Naming is not configured, then the returned DataTable object will be empty.
This method in ODP.NET, Managed Driver can fetch all the data source aliases from an LDAP server, such as Oracle Internet Directory or Microsoft Active Directory. This method in ODP.NET, Unmanaged Driver does not support retrieving data source aliases from an LDAP server.
When Oracle Internet Directory (OID) is used for the TNS naming repository, there is a limit of 1000 TNS entries retrieved.
The following columns are returned for each row, but only the InstanceName column is populated.
InstanceName (type: System.String)
ServerName (type: System.String)
ServiceName (type: System.String)
Protocol (type: System.String)
Port (type: System.String)
If the TNS and/or LDAP information changes for existing pooled connections, then calling GetDataSources will not return these changes unless the pools have been cleared.