Sdílet prostřednictvím


CDataSource – třída

Odpovídá objektu zdroje dat OLE DB, který představuje připojení prostřednictvím zprostředkovatele ke zdroji dat.

Syntaxe

class CDataSource

Požadavky

Hlavička: atldbcli.h

Členové

Metody

Název Popis
Zavřít Ukončí připojení.
GetInitializationString Načte inicializační řetězec aktuálně otevřeného zdroje dat.
GetProperties Získá hodnoty vlastností, které jsou aktuálně nastaveny pro připojený zdroj dat.
GetProperty Získá hodnotu jedné vlastnosti aktuálně nastavena pro připojený zdroj dat.
Otevřená Vytvoří připojení k poskytovateli (zdroji dat) pomocí symbolu CLSIDnebo ProgIDCEnumerator monikeru poskytnutého volajícím.
OpenFromFileName Otevře zdroj dat ze souboru určeného uživatelem zadaným názvem souboru.
OpenFromInitializationString Otevře zdroj dat určený inicializačním řetězcem.
OpenWithPromptFileName Umožňuje uživateli vybrat dříve vytvořený soubor datového propojení, aby otevřel odpovídající zdroj dat.
OpenWithServiceComponents Otevře objekt zdroje dat pomocí dialogového okna Propojení dat.

Poznámky

Jednu nebo více databázových relací lze vytvořit pro jedno připojení. Tyto relace jsou reprezentovány CSession. Před vytvořením relace s CSession::Openaplikací musíte volat CDataSource::Open, aby se otevřelo připojení.

Příklad použití CDataSourcenajdete v ukázce CatDB .

CDataSource::Close

Ukončí připojení uvolněním m_spInit ukazatele.

Syntaxe

void Close() throw();

CDataSource::GetInitializationString

Načte inicializační řetězec aktuálně otevřeného zdroje dat.

Syntaxe

HRESULT GetInitializationString(BSTR* pInitializationString,
   bool bIncludePassword = false) throw();

Parametry

pInitializationString
[ven] Ukazatel na inicializační řetězec.

bIncludePassword
[v] true pokud řetězec obsahuje heslo; jinak false.

Návratová hodnota

Standardní HODNOTA HRESULT.

Poznámky

Výsledný inicializační řetězec lze použít k pozdějšímu opětovnému otevření tohoto připojení ke zdroji dat.

CDataSource::GetProperties

Vrátí informace o vlastnosti požadované pro připojený objekt zdroje dat.

Syntaxe

HRESULT GetProperties(ULONG ulPropIDSets,
   constDBPROPIDSET* pPropIDSet,
   ULONG* pulPropertySets,
   DBPROPSET** ppPropsets) const throw();

Parametry

Viz IDBProperties::GetProperties v odkazech programátorů OLE DB v sadě Windows SDK.

Návratová hodnota

Standardní HODNOTA HRESULT.

Poznámky

Chcete-li získat jednu vlastnost, použijte GetProperty.

CDataSource::GetProperty

Vrátí hodnotu zadané vlastnosti pro připojený objekt zdroje dat.

Syntaxe

HRESULT GetProperty(const GUID& guid,
   DBPROPID propid,
   VARIANT* pVariant) const throw();

Parametry

identifikátor guid
[v] Identifikátor GUID identifikující sadu vlastností, pro kterou se má vrátit vlastnost.

propid
[v] ID vlastnosti, která se má vrátit.

pVariant
[ven] Ukazatel na variantu, kde GetProperty vrátí hodnotu vlastnosti.

Návratová hodnota

Standardní HODNOTA HRESULT.

Poznámky

Pokud chcete získat více vlastností, použijte GetProperties.

CDataSource::Open

Otevře připojení ke zdroji dat pomocí monikeru CLSIDProgIDnebo CEnumerator moniker nebo vyzve uživatele s dialogovým oknem lokátoru.

Syntaxe

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();

Parametry

clsid
[v] Poskytovatel CLSID dat.

pPropSet
[v] Ukazatel na pole struktur DBPROPSET obsahující vlastnosti a hodnoty, které se mají nastavit. Viz Sady vlastností a skupiny vlastností v odkazech programátorů OLE DB v sadě Windows SDK.

nPropertySets
[v] Počet struktur DBPROPSET předaných v argumentu pPropSet .

pName
[v] Název databáze, ke které se chcete připojit.

pUserName
[v] Jméno uživatele.

pPassword
[v] Heslo uživatele.

nInitMode
[v] Režim inicializace databáze Seznam platných inicializačníchrežimů najdete v referenčních informacích programátora OLE DB v sadě Windows SDK. Pokud nInitMode je nula, není v sadě vlastností použito k otevření připojení žádný režim inicializace.

szProgID
[v] Identifikátor programu.

enumerátor
[v] Objekt CEnumerator použitý k získání moniker pro otevření připojení, pokud volající nezadá .CLSID

hWnd
[v] Úchyt pro okno, které je nadřazené dialogové okno. Pomocí přetížení funkce, která používá parametr hWnd , automaticky vyvolá součásti služby; viz Poznámky k podrobnostem.

dwPromptOptions
[v] Určuje styl dialogového okna lokátoru, které se má zobrazit. Možné hodnoty najdete v msdasc.h.

Návratová hodnota

Standardní HODNOTA HRESULT.

Poznámky

Přetížení metody, která používá hWnd parametr otevře objekt zdroje dat s komponentami služby v oledb32.dll; tato knihovna DLL obsahuje implementaci funkcí součásti služby, jako je sdružování zdrojů, automatické zařazení transakce atd. Další informace naleznete v odkazu OLE DB v Průvodci programátorem OLE DB.

Metoda přetíží, které nepoužívají parametr hWnd otevřít objekt zdroje dat bez použití komponent služby v oledb32.dll. Objekt CDataSource otevřený s těmito přetíženími funkce nebude moci využívat žádnou z funkcí součásti služby.

Příklad

Následující kód ukazuje, jak otevřít zdroj dat Jet 4.0 pomocí šablon OLE DB. Zdroj dat Jet považujete za zdroj dat OLE DB. Volání však Open potřebuje dvě sady vlastností: jednu pro DBPROPSET_DBINIT a druhou pro DBPROPSET_JETOLEDB_DBINIT, abyste mohli nastavit DBPROP_JETOLEDB_DATABASEPASSWORD.

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

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

CDataSource::OpenFromFileName

Otevře zdroj dat ze souboru určeného uživatelem zadaným názvem souboru.

Syntaxe

HRESULT OpenFromFileName(LPCOLESTR szFileName) throw();

Parametry

szFileName
[v] Název souboru, obvykle připojení ke zdroji dat (. UDL) soubor.

Další informace o souborech datového propojení (soubory .udl) najdete v tématu Přehled rozhraní DATA LINK API v sadě Windows SDK.

Návratová hodnota

Standardní HODNOTA HRESULT.

Poznámky

Tato metoda otevře objekt zdroje dat pomocí komponent služby v oledb32.dll; tato knihovna DLL obsahuje implementaci funkcí součásti služby, jako je sdružování zdrojů, automatické zařazení transakcí atd. Další informace naleznete v odkazu OLE DB v Průvodci programátorem OLE DB.

CDataSource::OpenFromInitializationString

Otevře zdroj dat určený uživatelem zadaným inicializačním řetězcem.

Syntaxe

HRESULT OpenFromInitializationString(LPCOLESTR szInitializationString,
   bool fPromptForInfo= false) throw();

Parametry

szInitializationString
[v] Inicializační řetězec.

fPromptForInfo
[v] Pokud je tento argument nastaven na true, pak OpenFromInitializationString nastaví DBPROP_INIT_PROMPT vlastnost na DBPROMPT_COMPLETEREQUIRED, která určuje, že uživatel bude vyzván pouze v případě, že je potřeba více informací. To je užitečné v situacích, kdy inicializační řetězec určuje databázi, která vyžaduje heslo, ale řetězec neobsahuje heslo. Při pokusu o připojení k databázi se uživateli zobrazí výzva k zadání hesla (nebo jiných chybějících informací).

Výchozí hodnota je false, která určuje, že uživatel nebude nikdy vyzván (nastaví DBPROP_INIT_PROMPT na DBPROMPT_NOPROMPT).

Návratová hodnota

Standardní HODNOTA HRESULT.

Poznámky

Tato metoda otevře objekt zdroje dat pomocí komponent služby v oledb32.dll; tato knihovna DLL obsahuje implementaci funkcí součásti služby, jako je sdružování zdrojů, automatické zařazení transakcí atd.

CDataSource::OpenWithPromptFileName

Tato metoda vyzve uživatele k zobrazení dialogového okna a pak otevře zdroj dat pomocí souboru určeného uživatelem.

Syntaxe

HRESULT OpenWithPromptFileName(HWND hWnd = GetActiveWindow(   ),
   DBPROMPTOPTIONS dwPromptOptions = DBPROMPTOPTIONS_NONE,
   LPCOLESTR szInitialDirectory = NULL) throw();

Parametry

hWnd
[v] Úchyt pro okno, které je nadřazené dialogové okno.

dwPromptOptions
[v] Určuje styl dialogového okna lokátoru, které se má zobrazit. Možné hodnoty najdete v msdasc.h.

szInitialDirectory
[v] Počáteční adresář, který se má zobrazit v dialogovém okně lokátoru.

Návratová hodnota

Standardní HODNOTA HRESULT.

Poznámky

Tato metoda otevře objekt zdroje dat pomocí komponent služby v oledb32.dll; tato knihovna DLL obsahuje implementaci funkcí součásti služby, jako je sdružování zdrojů, automatické zařazení transakcí atd. Další informace naleznete v odkazu OLE DB v Průvodci programátorem OLE DB.

CDataSource::OpenWithServiceComponents

Otevře objekt zdroje dat pomocí komponent služby v oledb32.dll.

Syntaxe

HRESULT OpenWithServiceComponents (const CLSID clsid,
   DBPROPSET* pPropset = NULL,
   ULONG ulPropSets = 1);

HRESULT OpenWithServiceComponents (LPCSTR szProgID,
   DBPROPSET* pPropset = NULL,
   ULONG ulPropSets = 1);

Parametry

clsid
[v] Poskytovatel CLSID dat.

szProgID
[v] ID programu zprostředkovatele dat

pPropset
[v] Ukazatel na pole struktur DBPROPSET obsahující vlastnosti a hodnoty, které se mají nastavit. Viz Sady vlastností a skupiny vlastností v odkazech programátorů OLE DB v sadě Windows SDK. Pokud je inicializován objekt zdroje dat, vlastnosti musí patřit do skupiny vlastností Zdroj dat. Pokud je stejná vlastnost zadána více než jednou v pPropset, která hodnota je použita pro zprostředkovatele. Pokud je ulPropSets nula, bude tento parametr ignorován.

UlPropSets
[v] Počet struktur DBPROPSET předaných v argumentu pPropSet . Pokud se jedná o nulu, poskytovatel ignoruje pPropset.

Návratová hodnota

Standardní HODNOTA HRESULT.

Poznámky

Tato metoda otevře objekt zdroje dat pomocí komponent služby v oledb32.dll; tato knihovna DLL obsahuje implementaci funkcí součásti služby, jako je sdružování zdrojů, automatické zařazení transakcí atd. Další informace naleznete v odkazu OLE DB v Průvodci programátorem OLE DB.

Viz také

Šablony příjemců OLE DB
Referenční dokumentace k šablonám příjemců OLE DB