Procedura: Enumerazione di origini dati OLE DB (OLE DB)
Per elencare le origini dati visibili all'enumeratore SQLOLEDB, il consumer chiama il metodo ISourcesRowset::GetSourcesRowset. Questo metodo restituisce un set di righe di informazioni sulle origini dati attualmente visibili.
A seconda della libreria di rete utilizzata, viene cercato il dominio appropriato per le origini dati. Per le named pipe, si tratta del dominio a cui è connesso il client. Per AppleTalk, si tratta dell'area predefinita. Per SPX/IPX, si tratta dell'elenco di installazioni di SQL Server individuate nel bindery. Per Banyan VINES, si tratta delle installazioni di SQL Server individuate nella rete locale. I socket multiprotocollo e TCP/IP non sono supportati.
Quando il server viene attivato o disattivato, può impiegare alcuni minuti per aggiornare le informazioni in tali domini.
Un codice di esempio completo è disponibile nel file ListDataSourcesWithEnumerator.cpp. È possibile scaricare un archivio contenente l'esempio dalla pagina SQL Server Downloads su MSDN.
L'esempio è stato sviluppato utilizzando Microsoft Visual C++ 2005.
Nota sulla sicurezza |
---|
Se possibile, utilizzare l'autenticazione di Windows. Se non è disponibile, verrà richiesto agli utenti di immettere le credenziali in fase di esecuzione. Evitare di archiviare le credenziali in un file. Se è necessario rendere persistenti le credenziali, è consigliabile crittografarle utilizzando CryptoAPI Win32. |
Per enumerare origini dati OLE DB
Recuperare il set di righe di origine chiamando ISourceRowset::GetSourcesRowset.
Individuare la descrizione del set di righe degli enumeratori chiamando GetColumnInfo::IColumnInfo.
Creare le strutture di associazione dalle informazioni di colonna.
Creare la funzione di accesso del set di righe chiamando IAccessor::CreateAccessor.
Recuperare le righe chiamando IRowset::GetNextRows.
Recuperare i dati dalla copia del set di righe della riga chiamando IRowset::GetData ed elaborarli.