如何:列舉 OLE DB 資料來源 (OLE DB)
若要列出對 SQLOLEDB 列舉值而言可見的資料來源,取用者會呼叫 ISourcesRowset::GetSourcesRowset 方法。 這個方法會傳回有關目前可見之資料來源的資訊資料列集。
根據所使用的網路程式庫而定,將會搜尋適當的網域來找出資料來源。 如果是具名管道,這就是用戶端登入的網域。 如果是 AppleTalk,這就是預設區域。 如果是 SPX/IPX,這就是連結中找到的 SQL Server 安裝清單。 如果是 Banyan VINES,這就是本機網路上找到的 SQL Server 安裝。 不支援多重通訊協定和 TCP/IP 通訊端。
當伺服器關閉或開啟時,可能會花上好幾分鐘的時間來更新這些網域中的資訊。
完整範例程式碼位於 ListDataSourcesWithEnumerator.cpp 檔案中。 您可以從 MSDN 的 SQL Server 下載 (英文) 頁面下載含有範例的封存。
這個範例是用 Microsoft Visual C++ 2005 所開發的。
安全性注意事項 |
---|
盡可能使用 Windows 驗證。 如果無法使用 Windows 驗證,請提示使用者輸入執行階段的認證。 請避免將認證儲存在檔案中。 如果您必須保存認證,則應該用 Win32 crypto API 加密這些認證。 |
若要列舉 OLE DB 資料來源
呼叫 ISourceRowset::GetSourcesRowset 來擷取來源資料列集。
呼叫 GetColumnInfo::IColumnInfo 來尋找列舉值資料列集的描述。
從資料行資訊建立繫結結構。
呼叫 IAccessor::CreateAccessor 來建立資料列集存取子。
呼叫 IRowset::GetNextRows 來提取資料列。
呼叫 IRowset::GetData 來從資料列集的資料列複本擷取資料,然後加以處理。