CreateDataSourceEnumerator
Метод создает объект типа LinterDbDataSourceEnumerator, с помощью которого можно получить список (перечисление) всех доступных ADO.NET-провайдеру источников данных (для возможного последующего подключения к ним).
Сам список источников данных предоставляется методом GetDataSources в виде таблицы 3.
Примечание
В текущей версии провайдера метод возвращает пустой объект DataTable.
Таблица 3. Структура таблицы с информацией о поддерживаемых источниках данных
| Порядковый номер столбца | Имя столбца | Тип данных столбца | Значение столбца |
|---|---|---|---|
| 0 |
ServerName
|
System.String
| Имя сервера источника данных (LOCAL – для локального сервера, имя ЛИНТЕР-сервера из конфигурационного файла nodetab – для удаленного сервера) |
| 1 |
InstanceName
|
System.String
| Имя экземпляра сервера. В зависимости от поставщика может существовать несколько экземпляров на одном сервере |
| 2 |
IsClustered
|
System.String
| Указывает, является ли сервер частью кластера ПримечаниеВ СУБД ЛИНТЕР не поддерживается |
| 3 | Version | System.String | Версия сервера в формате <версия><релиз><номер сборки>, например: 6.0.17.48 |
| 4 | FactoryName | System.String | Имя соответствующей фабрики поставщиков |
| 5 | ServiceName | System.String | Имя сетевого драйвера |
| 6 | Protocol | System.String | Имя сетевого протокола используемого для доступа к источнику данных, например, TCPIP |
| 7 | Port | System.String | Сетевой адрес удаленного сервера |
Синтаксис
public override DbDataSourceEnumerator CreateDataSourceEnumerator();
Возвращаемое значение
Объект DbDataSourceEnumerator типа System.Data.Common.DbDataSourceEnumerator.
Исключения
Отсутствуют.
Пример
// C#
using System;
using System.Data;
using System.Data.Common;
class CreateDataSourceEnumeratorSample
{
static void Main()
{
// Создание фабрики классов провайдера
DbProviderFactory factory =
DbProviderFactories.GetFactory("System.Data.LinterClient");
if (factory.CanCreateDataSourceEnumerator)
{
DbDataSourceEnumerator dsenum = factory.CreateDataSourceEnumerator();
DataTable dt = dsenum.GetDataSources();
// Отобразить параметры всех поддерживаемых источников данных
foreach (DataRow dr in dt.Rows)
{
Console.WriteLine(dt.Columns[0] + " : " + dr[0]);
Console.WriteLine(dt.Columns[1] + " : " + dr[1]);
Console.WriteLine(dt.Columns[2] + " : " + dr[2]);
Console.WriteLine(dt.Columns[3] + " : " + dr[3]);
}
}
else
{
Console.Write("Перечисление источников данных провайдером не поддерживается ");
}
}
}