次の方法で共有


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 データ ソースを列挙するには

  1. ISourceRowset::GetSourcesRowset を呼び出して、ソースの行セットを取得します。

  2. GetColumnInfo::IColumnInfo を呼び出して、列挙子の行セットの説明を検索します。

  3. 列情報からバインド構造体を作成します。

  4. IAccessor::CreateAccessor を呼び出して、行セットのアクセサーを作成します。

  5. IRowset::GetNextRows を呼び出して行をフェッチします。

  6. IRowset::GetData を呼び出して、行の行セットのコピーからデータを取得し、そのデータを処理します。