Поделиться через


Как перечислить источники данных OLE DB (OLE DB)

Для перечисления источников данных, видимых перечислителю SQLOLEDB, потребитель вызывает метод ISourcesRowset::GetSourcesRowset. Этот метод возвращает набор строк информации о видимых в настоящее время источниках данных.

В зависимости от используемой сетевой библиотеки проводится поиск источников данных в соответствующем домене. Для именованных каналов это домен, в который загружен клиент. Для AppleTalk это зона по умолчанию. Для SPX/IPX это список установок SQL Server, найденный в системной базе данных. Для Banyan VINES это установки SQL Server, найденные в локальной сети. Сокеты Multiprotocol и TCP/IP не поддерживаются.

При выключении и включении сервера может потребоваться несколько минут на обновление информации об этих доменах.

Полный образец этого кода находится в файле ListDataSourcesWithEnumerator.cpp. Архив с этим образцом можно загрузить со страницы SQL Server Downloads библиотеки MSDN.

Этот образец создан с помощью Microsoft Visual C++ 2005.

Примечание по безопасностиПримечание по безопасности

При возможности используйте проверку подлинности Windows. Если проверка подлинности Windows недоступна, запросите у пользователя ввод учетных данных во время выполнения. Избегайте хранения учетных данных в файле. Если необходимо сохранить учетные данные, зашифруйте их с помощью API-интерфейса шифрования Win32.

Перечисление источников данных OLE DB

  1. Получите набор строк путем вызова метода ISourceRowset::GetSourcesRowset.

  2. Найдите описание набора строк перечислителей путем вызова метода GetColumnInfo::IColumnInfo.

  3. Создайте структуры привязки на основе информации о столбцах.

  4. Создайте метод доступа к набору строк путем вызова метода IAccessor::CreateAccessor.

  5. Выберите строки путем вызова метода IRowset::GetNextRows.

  6. Получите данные из копии строки, находящейся в наборе строк, путем вызова метода IRowset::GetData и обработайте их.