Как перечислить источники данных 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
Получите набор строк путем вызова метода ISourceRowset::GetSourcesRowset.
Найдите описание набора строк перечислителей путем вызова метода GetColumnInfo::IColumnInfo.
Создайте структуры привязки на основе информации о столбцах.
Создайте метод доступа к набору строк путем вызова метода IAccessor::CreateAccessor.
Выберите строки путем вызова метода IRowset::GetNextRows.
Получите данные из копии строки, находящейся в наборе строк, путем вызова метода IRowset::GetData и обработайте их.