Cómo enumerar orígenes de datos de OLE DB (OLE DB)
Para enumerar los orígenes de datos visibles del enumerador SQLOLEDB, el consumidor llama al método ISourcesRowset::GetSourcesRowset. Este método devuelve un conjunto de filas de información sobre los orígenes de datos actualmente visibles.
Dependiendo de la biblioteca de redes utilizada, se buscan en el dominio adecuado los orígenes de datos. Para las canalizaciones con nombre, es el dominio en el que el cliente ha iniciado sesión. Para AppleTalk, es la zona predeterminada. Para SPX/IPX, es la lista de instalaciones de SQL Server que se encuentran en el enlace. Para Banyan VINES, se trata de las instalaciones de SQL Server que se encuentran en la red local. No se admite multiprotocolo ni sockets TCP/IP.
Cuando se activa o desactiva el servidor, puede llevar unos minutos actualizarse la información de estos dominios.
Hay un código de ejemplo completo en el archivo ListDataSourcesWithEnumerator.cpp. Puede descargar un archivo que contiene el ejemplo en la página de descargas de SQL Server en MSDN.
Este ejemplo se desarrolló con Microsoft Visual C++ 2005.
Nota de seguridad |
---|
Siempre que sea posible, utilice la autenticación de Windows. Si la autenticación de Windows no está disponible, solicite a los usuarios que escriban sus credenciales en tiempo de ejecución. No guarde las credenciales en un archivo. Si tiene que conservar las credenciales, debería cifrarlas con la API de criptografía de Win32. |
Para enumerar los orígenes de datos OLE DB
Recupere el conjunto de filas de origen llamando a ISourceRowset::GetSourcesRowset.
Busque la descripción del conjunto de filas de enumeradores llamando a GetColumnInfo::IColumnInfo.
Cree las estructuras de enlace a partir de la información de columna.
Cree el descriptor de acceso del conjunto de filas llamando a IAccessor::CreateAccessor.
Capture las filas llamando a IRowset::GetNextRows.
Recupere los datos de la copia de la fila del conjunto de filas llamando a IRowset::GetData y procéselos.