Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Motsvarar ett OLE DB-datakällans objekt, som representerar en anslutning via en provider till en datakälla.
Syntax
class CDataSource
Kravspecifikation
Rubrik: atldbcli.h
Members
Methods
| Namn | Description |
|---|---|
| Stänga | Stänger anslutningen. |
| GetInitializationString | Hämtar initieringssträngen för den datakälla som för närvarande är öppen. |
| GetProperties | Hämtar värdena för de egenskaper som för närvarande har angetts för den anslutna datakällan. |
| GetProperty | Hämtar värdet för en enskild egenskap som för närvarande har angetts för den anslutna datakällan. |
| Öppna | Skapar en anslutning till en provider (datakälla) med antingen en CLSID, ProgIDeller en CEnumerator moniker som tillhandahålls av anroparen. |
| OpenFromFileName | Öppnar en datakälla från en fil som anges av det angivna filnamnet. |
| OpenFromInitializationString | Öppnar datakällan som anges av en initieringssträng. |
| OpenWithPromptFileName | Tillåter att användaren väljer en tidigare skapad datalänkfil för att öppna motsvarande datakälla. |
| OpenWithServiceComponents | Öppnar ett datakällans objekt med hjälp av dialogrutan Datalänk. |
Anmärkningar
En eller flera databassessioner kan skapas för en enda anslutning. Dessa sessioner representeras av CSession. Du måste anropa CDataSource::Öppna för att öppna anslutningen innan du skapar en session med CSession::Open.
Ett exempel på hur du använder CDataSourcefinns i CatDB-exemplet .
CDataSource::Stäng
Stänger anslutningen genom att släppa pekaren m_spInit .
Syntax
void Close() throw();
CDataSource::GetInitializationString
Hämtar initieringssträngen för en datakälla som för närvarande är öppen.
Syntax
HRESULT GetInitializationString(BSTR* pInitializationString,
bool bIncludePassword = false) throw();
Parameterar
pInitializationString
[ut] En pekare till initieringssträngen.
bIncludePassword
[i] true om strängen innehåller ett lösenord; annars false.
Returvärde
En standard HRESULT.
Anmärkningar
Den resulterande initieringssträngen kan användas för att senare öppna den här datakällans anslutning igen.
CDataSource::GetProperties
Returnerar den egenskapsinformation som begärs för det anslutna datakällans objekt.
Syntax
HRESULT GetProperties(ULONG ulPropIDSets,
constDBPROPIDSET* pPropIDSet,
ULONG* pulPropertySets,
DBPROPSET** ppPropsets) const throw();
Parameterar
Se IDBProperties::GetProperties i OLE DB-programmerarens referens i Windows SDK.
Returvärde
En standard HRESULT.
Anmärkningar
Om du vill hämta en enda egenskap använder du GetProperty.
CDataSource::GetProperty
Returnerar värdet för en angiven egenskap för det anslutna datakällans objekt.
Syntax
HRESULT GetProperty(const GUID& guid,
DBPROPID propid,
VARIANT* pVariant) const throw();
Parameterar
guid
[i] Ett GUID som identifierar den egenskapsuppsättning som egenskapen ska returneras för.
propid
[i] Egenskaps-ID för att egenskapen ska returneras.
pVariant
[ut] En pekare till varianten där GetProperty returnerar värdet för egenskapen.
Returvärde
En standard HRESULT.
Anmärkningar
Om du vill hämta flera egenskaper använder du GetProperties.
CDataSource::Öppna
Öppnar en anslutning till en datakälla med hjälp av en CLSID, ProgIDeller CEnumerator moniker eller uppmanar användaren med en positionerare dialogruta.
Syntax
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();
Parameterar
clsid
[i] Dataproviderns CLSID .
pPropSet
[i] En pekare till en matris med DBPROPSET-strukturer som innehåller egenskaper och värden som ska anges. Se Egenskapsuppsättningar och egenskapsgrupper i OLE DB-programmerarens referens i Windows SDK.
nPropertySets
[i] Antalet DBPROPSET-strukturer som skickades i argumentet pPropSet .
pName
[i] Namnet på databasen som ska anslutas till.
pUserName
[i] Namnet på användaren.
pPassword
[i] Användarens lösenord.
nInitMode
[i] Databasinitieringsläge. Se Initieringsegenskaper i OLE DB-programmerarens referens i Windows SDK för en lista över giltiga initieringslägen. Om nInitMode är noll ingår inget initieringsläge i egenskapsuppsättningen som används för att öppna anslutningen.
szProgID
[i] En programidentifierare.
uppräknare
[i] Ett CEnumerator-objekt som används för att hämta en moniker för att öppna anslutningen när anroparen inte anger en CLSID.
hWnd
[i] Hantera det fönster som ska vara överordnat i dialogrutan. Om du använder den funktionsöverlagring som använder parametern hWnd anropas automatiskt Tjänstkomponenter. se Kommentarer för mer information.
dwPromptOptions
[i] Avgör vilken typ av dialogruta för positionerare som ska visas. Se Msdasc.h för möjliga värden.
Returvärde
En standard HRESULT.
Anmärkningar
Metodens överlagring som använder parametern hWnd öppnar ett datakällobjekt med tjänstkomponenterna i oledb32.dll; Den här DLL-filen innehåller implementeringen av funktioner för tjänstkomponenter, till exempel resurspooler, automatisk transaktionslistning och så vidare. Mer information finns i OLE DB-referensen i OLE DB Programmer's Guide.
Metoden överbelastar som inte använder parametern hWnd öppnar ett datakällobjekt utan att använda tjänstkomponenterna i oledb32.dll. Ett CDataSource-objekt som öppnas med dessa funktionsöverbelastningar kan inte använda någon av funktionerna i Tjänstkomponenter.
Example
Följande kod visar hur du öppnar en Jet 4.0-datakälla med OLE DB-mallar. Du behandlar Jet-datakällan som en OLE DB-datakälla. Anropet till Open behöver dock två egenskapsuppsättningar: en för DBPROPSET_DBINIT och den andra för DBPROPSET_JETOLEDB_DBINIT, så att du kan ange DBPROP_JETOLEDB_DATABASEPASSWORD.
CDBPropSet rgDBPropSet[2]; // Declare two property sets;
// set properties elsewhere as appropriate.
hr = m_DataSource.Open(szProgId, rgDBPropSet, 2);
CDataSource::OpenFromFileName
Öppnar en datakälla från en fil som anges av det angivna filnamnet.
Syntax
HRESULT OpenFromFileName(LPCOLESTR szFileName) throw();
Parameterar
szFileName
[i] Namnet på en fil, vanligtvis en anslutning till datakällan (. UDL-fil.
Mer information om datalänkfiler (.udl-filer) finns i Översikt över Data Link API i Windows SDK.
Returvärde
En standard HRESULT.
Anmärkningar
Den här metoden öppnar ett datakällaobjekt med hjälp av tjänstkomponenterna i oledb32.dll; Den här DLL-filen innehåller implementeringen av funktioner för tjänstkomponenter, till exempel resurspooler, automatisk transaktionslistning och så vidare. Mer information finns i OLE DB-referensen i OLE DB Programmer's Guide.
CDataSource::OpenFromInitializationString
Öppnar en datakälla som anges av initieringssträngen från användaren.
Syntax
HRESULT OpenFromInitializationString(LPCOLESTR szInitializationString,
bool fPromptForInfo= false) throw();
Parameterar
szInitializationString
[i] Initieringssträngen.
fPromptForInfo
[i] Om det här argumentet är inställt på trueOpenFromInitializationString anger du egenskapen DBPROP_INIT_PROMPT till DBPROMPT_COMPLETEREQUIRED, vilket anger att användaren endast uppmanas om mer information behövs. Detta är användbart för situationer där initieringssträngen anger en databas som kräver ett lösenord, men strängen innehåller inte lösenordet. Användaren uppmanas att ange ett lösenord (eller annan information som saknas) när han eller hon försöker ansluta till databasen.
Standardvärdet är false, som anger att användaren aldrig uppmanas (anger DBPROP_INIT_PROMPT till DBPROMPT_NOPROMPT).
Returvärde
En standard HRESULT.
Anmärkningar
Den här metoden öppnar ett datakällaobjekt med hjälp av tjänstkomponenterna i oledb32.dll; Den här DLL-filen innehåller implementeringen av funktioner för tjänstkomponenter, till exempel resurspooler, automatisk transaktionslistning och så vidare.
CDataSource::OpenWithPromptFileName
Den här metoden uppmanar användaren med en dialogruta och öppnar sedan en datakälla med hjälp av den fil som användaren har angett.
Syntax
HRESULT OpenWithPromptFileName(HWND hWnd = GetActiveWindow( ),
DBPROMPTOPTIONS dwPromptOptions = DBPROMPTOPTIONS_NONE,
LPCOLESTR szInitialDirectory = NULL) throw();
Parameterar
hWnd
[i] Hantera det fönster som ska vara överordnat i dialogrutan.
dwPromptOptions
[i] Avgör vilken typ av dialogruta för positionerare som ska visas. Se Msdasc.h för möjliga värden.
szInitialDirectory
[i] Den första katalogen som ska visas i dialogrutan lokaliserare.
Returvärde
En standard HRESULT.
Anmärkningar
Den här metoden öppnar ett datakällaobjekt med hjälp av tjänstkomponenterna i oledb32.dll; Den här DLL-filen innehåller implementeringen av funktioner för tjänstkomponenter, till exempel resurspooler, automatisk transaktionslistning och så vidare. Mer information finns i OLE DB-referensen i OLE DB Programmer's Guide.
CDataSource::OpenWithServiceComponents
Öppnar ett datakällaobjekt med hjälp av tjänstkomponenterna i oledb32.dll.
Syntax
HRESULT OpenWithServiceComponents (const CLSID clsid,
DBPROPSET* pPropset = NULL,
ULONG ulPropSets = 1);
HRESULT OpenWithServiceComponents (LPCSTR szProgID,
DBPROPSET* pPropset = NULL,
ULONG ulPropSets = 1);
Parameterar
clsid
[i] En CLSID dataproviders.
szProgID
[i] Program-ID för en dataprovider.
pPropset
[i] En pekare till en matris med DBPROPSET-strukturer som innehåller egenskaper och värden som ska anges. Se Egenskapsuppsättningar och egenskapsgrupper i OLE DB-programmerarens referens i Windows SDK. Om datakällans objekt initieras måste egenskaperna tillhöra egenskapsgruppen Datakälla. Om samma egenskap anges mer än en gång i pPropset är vilket värde som används providerspecifikt. Om ulPropSets är noll ignoreras den här parametern.
ulPropSets
[i] Antalet DBPROPSET-strukturer som skickades i argumentet pPropSet . Om detta är noll ignorerar providern pPropset.
Returvärde
En standard HRESULT.
Anmärkningar
Den här metoden öppnar ett datakällaobjekt med hjälp av tjänstkomponenterna i oledb32.dll; Den här DLL-filen innehåller implementeringen av funktioner för tjänstkomponenter, till exempel resurspooler, automatisk transaktionslistning och så vidare. Mer information finns i OLE DB-referensen i OLE DB Programmer's Guide.