次の方法で共有


CDataSource::Open

データ ソースへの接続を CLSIDProg ID(G),ProgID(I),ProgID,Progid、または CEnumerator モニカーを使用して開くか、ロケーターのダイアログ ボックスをユーザーに求めるメッセージが表示されます。

HRESULT Open(
   const CLSID& clsid,
   DBPROPSET* pPropSet = NULL,
   ULONG nPropertySets = 1 
) throw( );
HRESULT Open(
   const CLSID& clsid,
   LPCTSTR pName,
   LPCTSTR pUserName = NULL,
   LPCTSTR pPassword = NULL,
   long nInitMode = 0 
) throw( );
HRESULT Open(
   LPCTSTR szProgID,
   DBPROPSET* pPropSet = NULL,
   ULONG nPropertySets = 1 
) throw( );
HRESULT Open(
   LPCTSTR szProgID,
   LPCTSTR pName,
   LPCTSTR pUserName = NULL,
   LPCTSTR pPassword = NULL,
   long nInitMode = 0 
) throw( );
HRESULT Open(
   const CEnumerator& enumerator,
   DBPROPSET* pPropSet = NULL,
   ULONG nPropertySets = 1 
) throw( );
HRESULT Open(
   const CEnumerator& enumerator,
   LPCTSTR pName,
   LPCTSTR pUserName = NULL,
   LPCTSTR pPassword = NULL,
   long nInitMode = 0 
) throw( );
HRESULT Open(
   HWND hWnd = GetActiveWindow( ),
   DBPROMPTOPTIONS dwPromptOptions = DBPROMPTOPTIONS_WIZARDSHEET 
) throw( );
HRESULT Open( 
   LPCWSTR szProgID, 
   DBPROPSET* pPropSet = NULL, 
   ULONG nPropertySets = 1 
) throw( );
HRESULT Open( 
   LPCSTR szProgID, 
   LPCTSTR pName, 
   LPCTSTR pUserName = NULL, 
   LPCTSTR pPassword = NULL, 
   long nInitMode = 0 
) throw( );

パラメーター

  • clsid
    [in] データ プロバイダー CLSID

  • pPropSet
    [in] 設定されるプロパティと値を含む DBPROPSET の構造体の配列へのポインター。Windows SDKOLE DB Programmer's Reference "プロパティとプロパティ グループ を参照してください。

  • nPropertySets
    [in] pPropSet の 引数で渡される DBPROPSET の構造の数。

  • pName
    [in] 接続するデータベースの名前です。

  • pUserName
    [in] ユーザー名。

  • pPassword
    [in] ユーザーのパスワード。

  • nInitMode
    [in] データベースの初期化モード。有効な初期化モードの一覧については、 Windows SDKOLE DB Programmer's Reference "初期化プロパティを参照してください。nInitMode がゼロの場合、初期化モードは接続を開くために使用するプロパティ設定に含まれません。

  • szProgID
    [in] プログラムの ID。

  • enumerator
    [in] 呼び出し元が CLSIDを指定しない場合の接続を開くためのモニカーを取得するために使用されます CEnumerator のオブジェクト。

  • hWnd
    [in] ダイアログ ボックスの親であることであるウィンドウへのハンドル。使用する関数のオーバーロードを使用して hWnd パラメーターは自動的にサービス コンポーネントを呼び出します; 詳細については、 " 解説 " を参照してください。

  • dwPromptOptions
    [in] ロケーターのダイアログ ボックスのフォームを表示するように指定します。有効な値については、 Msdasc.h を参照してください。

戻り値

標準の HRESULT を返します。

解説

hWnd パラメーターを使用するメソッド オーバーロードは、 oledb32.dll のサービス コンポーネントを使用すると、データ ソースのオブジェクトを開く; この DLL はリソース プールなどのサービス コンポーネント機能の実装、自動トランザクションに参加などが含まれます。詳細については、 " OLE DB Programmer's Reference " の 「OLE DB サービスに」 https://msdn.microsoft.com/library/default.asp?url=/library/en-us/oledb/htm/oledbole_db_services.asp?frame=trueを参照してください。

hWnd パラメーターを使用しないメソッド オーバーロードは、 oledb32.dll 内でサービス コンポーネントを使用せずにデータ ソースのオブジェクトを開きます。これらの関数のオーバーロードが開いている CDataSource のオブジェクトは、のサービス コンポーネントの機能が使用できなくなります。

使用例

次のコードは、 OLE DB テンプレートと Jet 4.0 のデータ ソースを開く方法を示します。OLE DB データ ソースとして、 Jet のデータ ソースを処理します。ただし、 開く(&&O),開く,[開く] への呼び出しは 2 回のプロパティ設定が必要です: DBPROP_JETOLEDB_DATABASEPASSWORDを設定できるように、 DBPROPSET_DBINIT の 1 と DBPROPSET_JETOLEDB_DBINITの他の。

CDBPropSet rgDBPropSet[2];  // Declare two property sets;
                            // set properties elsewhere as appropriate.

hr = m_DataSource.Open(szProgId, rgDBPropSet, 2);

必要条件

ヘッダー: atldbcli.h

参照

関連項目

CDataSource クラス