Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Megjegyzés:
A Microsoft Foundation Classes (MFC) könyvtár továbbra is támogatott. A továbbiakban azonban nem adunk hozzá funkciókat, és nem frissítjük a dokumentációt.
Egyetlen felhasználó kezeli a névvel ellátott, jelszóval védett adatbázis-munkamenetet a bejelentkezéstől a logoffig.
Megjegyzés:
Az Adatelérési objektumok (DAO) az Office 2013-on keresztül támogatottak. A DAO 3.6 a végleges verzió, és elavultnak számít.
Szemantika
class CDaoWorkspace : public CObject
Tagok
Nyilvános konstruktorok
| Név | Description |
|---|---|
| CDaoWorkspace::CDaoWorkspace | Munkaterület-objektumot hoz létre. Ezután hívja vagy .CreateOpen |
Nyilvános metódusok
| Név | Description |
|---|---|
| CDaoWorkspace::Append | Hozzáfűz egy újonnan létrehozott munkaterületet az adatbázismotor Munkaterületek gyűjteményéhez. |
| CDaoWorkspace::BeginTrans | Elindít egy új tranzakciót, amely a munkaterületen megnyitott összes adatbázisra vonatkozik. |
| CDaoWorkspace::Close | Bezárja a munkaterületet és a benne lévő összes objektumot. A függőben lévő tranzakciók vissza lesznek állítva. |
| CDaoWorkspace::CommitTrans | Befejezi az aktuális tranzakciót, és menti a módosításokat. |
| CDaoWorkspace::CompactDatabase | Adatbázis tömörítése (vagy duplikálása). |
| CDaoWorkspace::Létrehozás | Létrehoz egy új DAO-munkaterület-objektumot. |
| CDaoWorkspace::GetDatabaseCount | A munkaterület Adatbázis-gyűjteményében található DAO-adatbázis-objektumok számát adja vissza. |
| CDaoWorkspace::GetDatabaseInfo | A munkaterület Adatbázis-gyűjteményében definiált adott DAO-adatbázis adatait adja vissza. |
| CDaoWorkspace::GetIniPath | A Microsoft Jet adatbázismotor inicializálási beállításainak helyét adja vissza a Windows beállításjegyzékében. |
| CDaoWorkspace::GetIsolateODBCTrans | Egy értéket ad vissza, amely azt jelzi, hogy több, azonos ODBC-adatforrást tartalmazó tranzakció izolálva van-e az adatforráshoz kényszerített több kapcsolaton keresztül. |
| CDaoWorkspace::GetLoginTimeout | A hiba bekövetkezése előtti másodpercek számát adja vissza, amikor a felhasználó megpróbál bejelentkezni egy ODBC-adatbázisba. |
| CDaoWorkspace::GetName | A munkaterület-objektum felhasználó által definiált nevét adja vissza. |
| CDaoWorkspace::GetUserName | A munkaterület létrehozásakor megadott felhasználónevet adja vissza. Ez a munkaterület tulajdonosának neve. |
| CDaoWorkspace::GetVersion | A munkaterülethez társított adatbázismotor verzióját tartalmazó sztringet ad vissza. |
| CDaoWorkspace::GetWorkspaceCount | A DAO-munkaterület objektumainak számát adja vissza az adatbázismotor Munkaterületek gyűjteményében. |
| CDaoWorkspace::GetWorkspaceInfo | Az adatbázismotor Munkaterületek gyűjteményében definiált adott DAO-munkaterület adatait adja vissza. |
| CDaoWorkspace::Tétlen | Lehetővé teszi, hogy az adatbázismotor háttérfeladatokat végezzen. |
| CDaoWorkspace::IsOpen | Nonzero értéket ad vissza, ha a munkaterület nyitva van. |
| CDaoWorkspace::Megnyitás | Explicit módon megnyitja a DAO alapértelmezett munkaterületéhez társított munkaterület-objektumot. |
| CDaoWorkspace::RepairDatabase | Megkísérli kijavítani a sérült adatbázist. |
| CDaoWorkspace::Visszaállítás | Befejezi az aktuális tranzakciót, és nem menti a módosításokat. |
| CDaoWorkspace::SetDefaultPassword | Beállítja azt a jelszót, amelyet az adatbázismotor használ, amikor egy munkaterület-objektumot egy adott jelszó nélkül hoz létre. |
| CDaoWorkspace::SetDefaultUser | Beállítja az adatbázismotor által használt felhasználónevet, amikor egy munkaterület-objektumot egy adott felhasználónév nélkül hoz létre. |
| CDaoWorkspace::SetIniPath | Beállítja a Microsoft Jet adatbázismotor inicializálási beállításainak helyét a Windows beállításjegyzékben. |
| CDaoWorkspace::SetIsolateODBCTrans | Megadja, hogy több, azonos ODBC-adatforrást tartalmazó tranzakció elkülönítve legyen-e az adatforráshoz való több kapcsolat kényszerítésével. |
| CDaoWorkspace::SetLoginTimeout | Beállítja a hiba bekövetkezése előtti másodpercek számát, amikor a felhasználó megpróbál bejelentkezni egy ODBC-adatforrásba. |
Nyilvános adatok tagjai
| Név | Description |
|---|---|
| CDaoWorkspace::m_pDAOWorkspace | A mögöttes DAO-munkaterület objektumra mutat. |
Megjegyzések
A legtöbb esetben nincs szükség több munkaterületre, és nem kell explicit munkaterület-objektumokat létrehoznia; adatbázis- és rekordhalmaz-objektumok megnyitásakor a DAO alapértelmezett munkaterületét használják. Szükség esetén azonban több munkamenetet is futtathat egyszerre több munkaterület-objektum létrehozásával. Minden munkaterület-objektum több nyitott adatbázis-objektumot tartalmazhat a saját Adatbázis-gyűjteményében. Az MFC-ben a munkaterület elsősorban tranzakciókezelő, amely egy nyitott adatbáziskészletet határoz meg ugyanabban a "tranzakciótérben".
Megjegyzés:
A DAO-adatbázisosztályok különböznek az MFC-adatbázisosztályoktól az Open Database Connectivity (ODBC) alapján. Minden DAO-adatbázisosztály neve rendelkezik "CDao" előtaggal. Általánosságban elmondható, hogy a DAO-n alapuló MFC-osztályok jobban képesek, mint az ODBC-n alapuló MFC-osztályok. A DAO-alapú osztályok a Microsoft Jet adatbázismotoron keresztül férnek hozzá az adatokhoz, beleértve az ODBC-illesztőprogramokat is. Emellett támogatják az Adatdefiníciós nyelv (DDL) műveleteket is, például adatbázisok létrehozását és táblák és mezők hozzáadását az osztályokon keresztül anélkül, hogy közvetlenül kellene meghívniuk a DAO-t.
Capabilities
Az osztály CDaoWorkspace a következőt biztosítja:
Szükség esetén explicit hozzáférés az adatbázismotor inicializálásával létrehozott alapértelmezett munkaterülethez. A DAO alapértelmezett munkaterületét általában implicit módon használja adatbázis- és rekordhalmaz-objektumok létrehozásával.
Egy tranzakciótér, amelyben a tranzakciók a munkaterületen megnyitott összes adatbázisra vonatkoznak. Több munkaterületet is létrehozhat a különálló tranzakcióhelyek kezeléséhez.
A Mögöttes Microsoft Jet adatbázismotor számos tulajdonságának interfésze (lásd a statikus tagfüggvényeket). Munkaterület megnyitása vagy létrehozása, illetve statikus tagfüggvény meghívása a megnyitás vagy létrehozás előtt inicializálja az adatbázismotort.
Hozzáférés az adatbázismotor Munkaterületek gyűjteményéhez, amely a hozzáfűzött összes aktív munkaterületet tárolja. Munkaterületeket is létrehozhat és használhat anélkül, hogy hozzáfűzi őket a gyűjteményhez.
Biztonság
Az MFC nem implementálja a dao-ban a Felhasználók és csoportok gyűjteményeket, amelyeket a biztonsági ellenőrzéshez használnak. Ha szüksége van a DAO ezen aspektusaira, saját maga kell programozza őket a DAO-felületekre irányuló közvetlen hívásokon keresztül. További információ: Műszaki megjegyzés 54.
Usage
Az osztály CDaoWorkspace a következőhöz használható:
Explicit módon nyissa meg az alapértelmezett munkaterületet.
Az alapértelmezett munkaterület használata általában implicit, amikor új CDaoDatabase - vagy CDaoRecordset-objektumokat nyit meg. Előfordulhat azonban, hogy explicit módon kell hozzáférnie. Például az adatbázismotor tulajdonságainak vagy a Munkaterületek gyűjteménynek a eléréséhez. Lásd alább az "Alapértelmezett munkaterület implicit használata" című témakört.
Új munkaterületek létrehozása. Hívja meg a Hozzáfűzőt , ha fel szeretné venni őket a Munkaterületek gyűjteménybe.
Nyisson meg egy meglévő munkaterületet a Munkaterületek gyűjteményben.
A Munkaterületek gyűjteményben még nem létező új munkaterület létrehozását a Tag létrehozása függvény ismerteti. A munkaterület-objektumok semmilyen módon nem maradnak meg az adatbázismotor-munkamenetek között. Ha az alkalmazás statikusan köti össze az MFC-t, az alkalmazás befejezése nem inicializálja az adatbázismotort. Ha az alkalmazás dinamikusan kapcsolódik az MFC-hez, az adatbázismotor nem inicializálódik az MFC DLL-fájl eltávolításakor.
Az alapértelmezett munkaterület explicit megnyitását vagy egy meglévő munkaterület megnyitását a Munkaterületek gyűjteményben a Tag megnyitása függvény ismerteti.
A munkaterület munkamenetének befejezéséhez zárja be a munkaterületet a Tag bezárása függvénnyel.
Close bezár minden olyan adatbázist, amely még nem zárt be, és visszaállítja a nem véglegesített tranzakciókat.
Tranzakciók
A DAO a munkaterület szintjén kezeli a tranzakciókat; ezért a több nyitott adatbázissal rendelkező munkaterületen lévő tranzakciók az összes adatbázisra érvényesek. Ha például két adatbázis nem véglegesített frissítésekkel rendelkezik, és meghívja a CommitTranst, az összes frissítés véglegesítve lesz. Ha egyetlen adatbázisra szeretné korlátozni a tranzakciókat, külön munkaterület-objektumra van szüksége.
Az alapértelmezett munkaterület implicit használata
Az MFC implicit módon használja a DAO alapértelmezett munkaterületét a következő körülmények között:
Ha új
CDaoDatabaseobjektumot hoz létre, de nem egy meglévőCDaoWorkspaceobjektumon keresztül, az MFC létrehoz egy ideiglenes munkaterület-objektumot, amely megfelel a DAO alapértelmezett munkaterületének. Ha több adatbázis esetében is ezt teszi, az összes adatbázis-objektum az alapértelmezett munkaterülethez van társítva. Az adatbázis munkaterületét egyCDaoDatabaseadattagon keresztül érheti el.Hasonlóképpen, ha anélkül hoz létre
CDaoRecordsetobjektumot, hogy mutatót ad meg egyCDaoDatabaseobjektumnak, az MFC létrehoz egy ideiglenes adatbázis-objektumot, és bővítményként egy ideiglenes munkaterület-objektumot. Egy rekordhalmaz adatbázisát és közvetetten annak munkaterületét egyCDaoRecordsetadattagon keresztül érheti el.
Egyéb műveletek
Egyéb adatbázisműveletek is rendelkezésre állnak, például sérült adatbázis javítása vagy adatbázis tömörítése.
A DAO közvetlen hívásáról és a DAO biztonságáról az 54. technikai megjegyzésben talál további információt.
Öröklési hierarchia
CDaoWorkspace
Requirements
Fejléc:afxdao.h
CDaoWorkspace::Append
Hívja meg ezt a tagfüggvényt a Létrehozás hívása után.
virtual void Append();
Megjegyzések
Append hozzáfűz egy újonnan létrehozott munkaterület-objektumot az adatbázismotor Munkaterületek gyűjteményéhez. A munkaterületek nem maradnak meg az adatbázismotor-munkamenetek között; csak a memóriában vannak tárolva, a lemezen nem. Nem kell hozzáfűznie egy munkaterületet; ha nem, akkor is használhatja.
A hozzáfűzött munkaterületek aktív, nyitott állapotban maradnak a Munkaterületek gyűjteményben, amíg a Tag bezárása függvényt nem hívja meg.
A kapcsolódó információkért tekintse meg a DAO súgójának "Append Method" (Hozzáfűzési módszer) című témakörét.
CDaoWorkspace::BeginTrans
A tagfüggvény meghívása tranzakció indításához.
void BeginTrans();
Megjegyzések
A hívás BeginTransután a tranzakció véglegesítésekor érvénybe lépnek az adatok vagy az adatbázis struktúrájának frissítései. Mivel a munkaterület egyetlen tranzakciós területet határoz meg, a tranzakció a munkaterület összes megnyitott adatbázisára vonatkozik. A tranzakció kétféleképpen hajtható végre:
Hívja meg a CommitTrans tagfüggvényt a tranzakció véglegesítéséhez és az adatforrás módosításainak mentéséhez.
Vagy hívja meg a Visszaállítási tag függvényt a tranzakció megszakításához.
Ha a tranzakció függőben van, bezárja a munkaterület-objektumot vagy egy adatbázis-objektumot, és visszaállítja az összes függőben lévő tranzakciót.
Ha el kell különítenie az egyik ODBC-adatforrás tranzakcióit egy másik ODBC-adatforrás tranzakcióitól, tekintse meg a SetIsolateODBCTrans tagfüggvényt.
CDaoWorkspace::CDaoWorkspace
Egy CDaoWorkspace objektumot hoz létre.
CDaoWorkspace();
Megjegyzések
A C++ objektum létrehozása után két lehetősége van:
Az objektum Tag megnyitása függvényének meghívásával nyissa meg az alapértelmezett munkaterületet, vagy nyisson meg egy meglévő objektumot a Munkaterületek gyűjteményben.
Vagy meghívhatja az objektum Tag létrehozása függvényét egy új DAO-munkaterület-objektum létrehozásához. Ez explicit módon elindít egy új munkaterületi munkamenetet, amelyre az
CDaoWorkspaceobjektumon keresztül hivatkozhat. A hívásCreateután meghívhatja a Hozzáfűzőt , ha hozzá szeretné adni a munkaterületet az adatbázismotor Munkaterületek gyűjteményéhez.
A CDaoWorkspace osztályának áttekintésében tájékozódhat arról, hogy mikor kell explicit módon létrehoznia egy objektumot CDaoWorkspace . Általában implicit módon létrehozott munkaterületeket használ, amikor egy CDaoDatabase-objektumot anélkül nyit meg, hogy megad egy munkaterületet, vagy amikor egy CDaoRecordset objektumot nyit meg adatbázis-objektum megadása nélkül. Az ily módon létrehozott MFC DAO-objektumok a DAO alapértelmezett munkaterületét használják, amelyet egyszer hoznak létre és újra felhasználnak.
A munkaterület és a benne található objektumok kiadásához hívja meg a munkaterület objektumának Bezárás tagfüggvényét.
CDaoWorkspace::Close
Hívja meg ezt a tagfüggvényt a munkaterület-objektum bezárásához.
virtual void Close();
Megjegyzések
Egy megnyitott munkaterület-objektum bezárása felszabadítja a mögöttes DAO-objektumot, és ha a munkaterület a Munkaterületek gyűjtemény tagja, eltávolítja azt a gyűjteményből. A hívás Close jó programozási gyakorlat.
Caution
Ha bezár egy munkaterület-objektumot, az bezárja a munkaterületen lévő összes megnyitott adatbázist. Ez azt eredményezi, hogy az adatbázisokban megnyitott rekordhalmazok is bezáródnak, és a függőben lévő módosítások vagy frissítések vissza lesznek állítva. A kapcsolódó információkért lásd a CDaoDatabase::Close, CDaoRecordset::Close, CDaoTableDef::Close és CDaoQueryDef::Close tagfüggvényeket.
A munkaterület-objektumok nem állandóak; csak akkor léteznek, ha azokra mutató hivatkozások léteznek. Ez azt jelenti, hogy amikor az adatbázismotor munkamenete véget ér, a munkaterület és annak Adatbázisgyűjteménye nem marad meg. A munkaterület és az adatbázis(ok) ismételt megnyitásával újra létre kell hoznia őket a következő munkamenethez.
A kapcsolódó információkért tekintse meg a DAO súgójának "Metódus bezárása" című témakörét.
CDaoWorkspace::CommitTrans
Hívja meg ezt a tagfüggvényt egy tranzakció véglegesítéséhez, amely a munkaterület egy vagy több adatbázisába menti a módosítások és frissítések egy csoportját.
void CommitTrans();
Megjegyzések
A tranzakciók az adatbázis adatainak vagy szerkezetének változásaiból állnak, kezdve a BeginTrans hívásával. A tranzakció befejezésekor véglegesítse, vagy visszaállítsa (visszavonja a módosításokat) a visszaállítással. Alapértelmezés szerint tranzakciók nélkül a rekordok frissítései azonnal véglegesülnek. A hívás BeginTrans miatt a frissítések kötelezettségvállalása késleltetve lesz, amíg a hívás meg nem történik CommitTrans.
Caution
Egy munkaterületen belül a tranzakciók mindig globálisak a munkaterületen, és nem korlátozódnak csak egy adatbázisra vagy rekordkészletre. Ha több adatbázison vagy rekordhalmazon hajt végre műveleteket egy munkaterület-tranzakción belül, CommitTrans véglegesíti az összes függőben lévő frissítést, és Rollback visszaállítja az összes műveletet ezeken az adatbázisokon és rekordhalmazokon.
Ha lezár egy adatbázist vagy munkaterületet függőben lévő tranzakciókkal, a tranzakciók mind vissza lesznek állítva.
Megjegyzés:
Ez nem kétfázisú véglegesítési mechanizmus. Ha egy frissítés véglegesítése sikertelen, mások továbbra is véglegesítik.
CDaoWorkspace::CompactDatabase
Hívja meg ezt a tagfüggvényt egy adott Microsoft Jet (. MDB-adatbázis.
static void PASCAL CompactDatabase(
LPCTSTR lpszSrcName,
LPCTSTR lpszDestName,
LPCTSTR lpszLocale = dbLangGeneral,
int nOptions = 0);
static void PASCAL CompactDatabase(
LPCTSTR lpszSrcName,
LPCTSTR lpszDestName,
LPCTSTR lpszLocale,
int nOptions,
LPCTSTR lpszPassword);
Paraméterek
lpszSrcName
Egy meglévő, lezárt adatbázis neve. Ez lehet teljes elérési út és fájlnév, például "C:\\MYDB". MDB". Ha a fájlnév rendelkezik kiterjesztéssel, meg kell adnia. Ha a hálózat támogatja az egységes elnevezési konvenciót (UNC), megadhat egy hálózati útvonalat is, például :\\\MYSERVER\\MYSHARE\\MYDIR\\MYDB. MDB". (Az elérési út sztringjeiben dupla fordított perjelre van szükség, mert a "\" a C++ feloldó karakter.)
lpszDestName
A létrehozott tömörített adatbázis teljes elérési útja. Az lpszSrcName-hez hasonlóan megadhatja a hálózati útvonalat is. Az lpszDestName argumentum használatával nem adhatja meg ugyanazt az adatbázisfájlt, mint az lpszSrcName.
lpszPassword
Jelszó, amelyet jelszóval védett adatbázis tömörítéséhez használnak. Ha a jelszóhoz használt verziót CompactDatabase használja, meg kell adnia az összes paramétert. Mivel ez egy kapcsolódási paraméter, speciális formázást igényel, az alábbiak szerint: ;P WD= lpszPassword. Például: ;P WD="Happy". (A kezdő pontosvessző megadása kötelező.)
lpszLocale
Az lpszDestName létrehozásához használt rendezési sorrend megadására szolgáló sztringkifejezés. Ha kihagyja ezt az argumentumot az alapértelmezett érték dbLangGeneral elfogadásával (lásd alább), az új adatbázis területi beállítása megegyezik a régi adatbáziséval. A lehetséges értékek a következők:
dbLangGeneralAngol, német, francia, portugál, olasz és modern spanyoldbLangArabicArabdbLangCyrillicOroszdbLangCzechCsehdbLangDutchHollanddbLangGreekGörögdbLangHebrewHéberdbLangHungarianMagyardbLangIcelandicIzlandidbLangNordicÉszaki nyelvek (csak a Microsoft Jet adatbázismotor 1.0-s verziója)dbLangNorwdanNorvég és dándbLangPolishLengyeldbLangSpanishHagyományos spanyoldbLangSwedfinSvéd és finndbLangTurkishTörök
nOptions
A céladatbázis lpszDestName elemének egy vagy több beállítását jelzi. Ha kihagyja ezt az argumentumot az alapértelmezett érték elfogadásával, az lpszDestName titkosítása és verziója megegyezik az lpszSrcNameéval. A bitenkénti VAGY operátorral kombinálhatja az dbEncrypt egyik dbDecrypt verzióbeállítást. A lehetséges értékek, amelyek nem adatbázismotor-verziót, hanem adatbázisformátumot adnak meg, a következők:
dbEncryptTömörítés közben titkosítja az adatbázist.dbDecryptTömörítés közben fejtse vissza az adatbázist.dbVersion10Hozzon létre egy adatbázist, amely tömörítés közben a Microsoft Jet adatbázismotor 1.0-s verzióját használja.dbVersion11Hozzon létre egy adatbázist, amely tömörítés közben a Microsoft Jet adatbázismotor 1.1-es verzióját használja.dbVersion20Hozzon létre egy adatbázist, amely tömörítés közben a Microsoft Jet adatbázismotor 2.0-s verzióját használja.dbVersion30Hozzon létre egy adatbázist, amely tömörítés közben a Microsoft Jet adatbázismotor 3.0-s verzióját használja.
A beállítási argumentumban vagy dbDecrypt a beállítási argumentumban megadhatjadbEncrypt, hogy az adatbázis tömörítése során titkosítja vagy visszafejtse az adatbázist. Ha kihagy egy titkosítási állandót, vagy ha mindkettőt dbDecrypt tartalmazza, lpszDestName akkor dbEncryptugyanazzal a titkosítással rendelkezik, mint lpszSrcNamea . A beállítások argumentumban szereplő verzióállandók egyikével megadhatja a tömörített adatbázis adatformátumának verzióját. Ez az állandó csak az adatformátum lpszDestNameverzióját érinti. Csak egy verzióállandót adhat meg. Ha kihagy egy verzióállandót, az ugyanazzal a verzióval fog rendelkezni, lpszDestName mint a lpszSrcName. Csak olyan verzióra tömöríthető lpszDestName , amely megegyezik vagy újabb lpszSrcName.
Caution
Ha egy adatbázis nincs titkosítva, akkor is lehetőség van arra, hogy közvetlenül beolvassa az adatbázist alkotó bináris lemezfájlt, még akkor is, ha felhasználói/jelszós biztonságot valósít meg.
Megjegyzések
Az adatbázis adatainak módosítása során az adatbázisfájl töredezetté válhat, és a szükségesnél több lemezterületet használhat. Időnként tömörítse az adatbázist az adatbázisfájl töredezettségmentesítéséhez. A tömörített adatbázis általában kisebb. Az adatbázis másolása és tömörítése során módosíthatja az rendezési sorrendet, a titkosítást vagy az adatformátum verzióját is.
Caution
A CompactDatabase tagfüggvény nem konvertálja megfelelően a teljes Microsoft Access-adatbázist egyik verzióról a másikra. Csak az adatformátum lesz konvertálva. A Microsoft Access által definiált objektumok, például űrlapok és jelentések nem lesznek konvertálva. Az adatok azonban megfelelően konvertálódnak.
Jótanács
Adatbázisfájl másolására is használható CompactDatabase .
Az adatbázisok tömörítésével kapcsolatos további információkért tekintse meg a DAO súgójának "CompactDatabase metódus" című témakörét.
CDaoWorkspace::Létrehozás
Ennek a tagfüggvénynek a meghívásával hozzon létre egy új DAO-munkaterület-objektumot, és társítsa azt az MFC-objektumhoz CDaoWorkspace .
virtual void Create(
LPCTSTR lpszName,
LPCTSTR lpszUserName,
LPCTSTR lpszPassword);
Paraméterek
lpszName
Legfeljebb 14 karakter hosszúságú sztring, amely egyedileg nevezi el az új munkaterület-objektumot. Meg kell adnia egy nevet. A kapcsolódó információkért tekintse meg a DAO súgójának "Névtulajdonság" című témakörét.
lpszUserName
A munkaterület tulajdonosának felhasználóneve. A követelményekért tekintse meg az lpszDefaultUser paramétert a SetDefaultUser tagfüggvényhez. A kapcsolódó információkért tekintse meg a DAO súgójának "UserName tulajdonság" című témakörét.
lpszPassword
Az új munkaterület-objektum jelszava. A jelszó legfeljebb 14 karakter hosszúságú lehet, és az ASCII 0 (null) kivételével bármilyen karaktert tartalmazhat. A jelszavak megkülönböztetik a kis- és nagybetűket. A kapcsolódó információkért tekintse meg a DAO súgójának "Jelszótulajdonság" című témakörét.
Megjegyzések
Az általános létrehozási folyamat a következő:
CDaoWorkspace-objektum létrehozása.
Hívja meg az objektum tagfüggvényét
Createa mögöttes DAO-munkaterület létrehozásához. Meg kell adnia egy munkaterület nevét.Ha hozzá szeretné adni a munkaterületet az adatbázismotor Munkaterületek gyűjteményéhez, igény szerint hívja meg a Hozzáfűzést . A munkaterületet hozzáfűzés nélkül is használhatja.
A hívás után a Create munkaterület objektuma nyitott állapotban van, használatra kész. Nem kell utána telefonálni OpenCreate. Nem hívhatja meg Create , ha a munkaterület már létezik a Munkaterületek gyűjteményben.
Create Inicializálja az adatbázismotort, ha még nem inicializálta az alkalmazáshoz.
CDaoWorkspace::GetDatabaseCount
A tagfüggvény meghívásával lekérheti a DAO-adatbázisobjektumok számát a munkaterület Adatbázis-gyűjteményében. Ez a munkaterületen megnyitott adatbázisok száma.
short GetDatabaseCount();
Visszaadott érték
A munkaterületen megnyitott adatbázisok száma.
Megjegyzések
GetDatabaseCount akkor hasznos, ha a munkaterület Adatbázis-gyűjteményében lévő összes definiált adatbázist át kell böngésznie. A gyűjtemény egy adott adatbázisával kapcsolatos információkért lásd a GetDatabaseInfo című témakört. Általában a nyitott adatbázisok számát kell meghívni GetDatabaseCount , majd ezt a számot ciklusindexként használni az ismétlődő hívásokhoz GetDatabaseInfo.
CDaoWorkspace::GetDatabaseInfo
Hívja meg ezt a tagfüggvényt a munkaterületen megnyitott adatbázissal kapcsolatos különféle információk beszerzéséhez.
void GetDatabaseInfo(
int nIndex,
CDaoDatabaseInfo& dbinfo,
DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);
void GetDatabaseInfo(
LPCTSTR lpszName,
CDaoDatabaseInfo& dbinfo,
DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);
Paraméterek
nIndex
Az adatbázis-objektum nulla alapú indexe a munkaterület Adatbázis-gyűjteményében, index alapján történő kereséshez.
dbinfo
Hivatkozás egy CDaoDatabaseInfo objektumra, amely a kért információkat adja vissza.
dwInfoOptions
A lekérni kívánt adatbázissal kapcsolatos információkat meghatározó beállítások. A rendelkezésre álló lehetőségeket itt találja, valamint azt is, hogy mi okozza a függvény visszatérését:
AFX_DAO_PRIMARY_INFO (alapértelmezett) név, frissíthető, tranzakciók
AFX_DAO_SECONDARY_INFO elsődleges információk, valamint: Verzió, Rendezési sorrend, Lekérdezés időtúllépése
AFX_DAO_ALL_INFO elsődleges és másodlagos információk, valamint: Csatlakozás
lpszName
Az adatbázis-objektum neve név alapján történő kereséshez. A név legfeljebb 14 karakter hosszúságú sztring, amely egyedileg nevezi el az új munkaterület-objektumot.
Megjegyzések
A függvény egyik verziója lehetővé teszi az adatbázis index szerinti keresését. A másik verzió lehetővé teszi az adatbázis név szerinti keresését.
A dbinfo-ban visszaadott információk leírását a CDaoDatabaseInfo struktúra tartalmazza. Ez a struktúra olyan tagokkal rendelkezik, amelyek megfelelnek a dwInfoOptions leírásában felsorolt információknak. Ha egy szinten kér információt, minden korábbi szintről is kap információt.
CDaoWorkspace::GetIniPath
Hívja meg ezt a tagfüggvényt a Microsoft Jet adatbázismotor inicializálási beállításainak helyének beszerzéséhez a Windows beállításjegyzékében.
static CString PASCAL GetIniPath();
Visszaadott érték
A CString beállításjegyzék helyét tartalmazó fájl.
Megjegyzések
A hely használatával információkat szerezhet be az adatbázismotor beállításairól. A visszaadott információ valójában egy beállításjegyzék-alkulcs neve.
A kapcsolódó információkért tekintse meg a DAO súgójának "IniPath tulajdonsága" és "A Windows beállításjegyzék-beállításainak testreszabása az adathozzáféréshez" című témakört.
CDaoWorkspace::GetIsolateODBCTrans
Hívja meg ezt a tagfüggvényt a munkaterület DAO IsolateODBCTrans tulajdonságának aktuális értékének lekéréséhez.
BOOL GetIsolateODBCTrans();
Visszaadott érték
Nemzero, ha az ODBC-tranzakciók elkülönítettek; egyéb esetben 0.
Megjegyzések
Bizonyos esetekben előfordulhat, hogy több egyidejű tranzakcióra is szükség van ugyanazon az ODBC-adatbázisban. Ehhez minden tranzakcióhoz külön munkaterületet kell megnyitnia. Ne feledje, hogy bár minden munkaterület rendelkezhet saját ODBC-kapcsolattal az adatbázishoz, ez lelassítja a rendszer teljesítményét. Mivel a tranzakcióelkülönítés általában nem szükséges, az ugyanazon felhasználó által megnyitott több munkaterület-objektum ODBC-kapcsolatai alapértelmezés szerint meg vannak osztva.
Egyes ODBC-kiszolgálók, például a Microsoft SQL Server nem engedélyezik az egyidejű tranzakciókat egyetlen kapcsolaton. Ha egyszerre több tranzakcióra van szüksége egy ilyen adatbázisra vonatkozóan, a megnyitás után azonnal állítsa az IsolateODBCTrans tulajdonságot TRUE értékre az egyes munkaterületeken. Ez külön ODBC-kapcsolatot kényszerít ki minden munkaterülethez.
A kapcsolódó információkért tekintse meg az "IsolateODBCTrans tulajdonság" témakört a DAO súgójában.
CDaoWorkspace::GetLoginTimeout
Hívja meg ezt a tagfüggvényt a munkaterület DAO LoginTimeout tulajdonságának aktuális értékének lekéréséhez.
static short PASCAL GetLoginTimeout();
Visszaadott érték
Az ODBC-adatbázisba való bejelentkezéskor a hiba bekövetkezése előtti másodpercek száma.
Megjegyzések
Ez az érték azt a másodpercet jelöli, amely után hiba lép fel, amikor odBC-adatbázisba próbál bejelentkezni. Az alapértelmezett LoginTimeout beállítás 20 másodperc. Ha a LoginTimeout értéke 0, nem történik időtúllépés, és az adatforrással folytatott kommunikáció leállhat.
Amikor egy ODBC-adatbázisba ( például a Microsoft SQL Serverbe) próbál bejelentkezni, a kapcsolat hálózati hibák vagy a kiszolgáló nem fut. Ahelyett, hogy az alapértelmezett 20 másodpercre vár, megadhatja, hogy az adatbázismotor mennyi ideig várjon, mielőtt hibát eredményez. A kiszolgálóra való bejelentkezés implicit módon történik különböző események részeként, például lekérdezések futtatása külső kiszolgálói adatbázisban.
A kapcsolódó információkért tekintse meg a "LoginTimeout tulajdonság" témakört a DAO súgójában.
CDaoWorkspace::GetName
Hívja meg ezt a tagfüggvényt az objektum alapjául szolgáló DAO-munkaterület objektum felhasználó által definiált nevének lekéréséhez CDaoWorkspace .
CString GetName();
Visszaadott érték
A CString DAO-munkaterület objektum felhasználó által definiált nevét tartalmazza.
Megjegyzések
A név hasznos lehet az adatbázismotor Munkaterületek gyűjteményében lévő DAO-munkaterület objektum név szerinti eléréséhez.
A kapcsolódó információkért tekintse meg a DAO súgójának "Névtulajdonság" című témakörét.
CDaoWorkspace::GetUserName
Hívja meg ezt a tagfüggvényt a munkaterület tulajdonosának nevének lekéréséhez.
CString GetUserName();
Visszaadott érték
A CString munkaterület-objektum tulajdonosát jelképező érték.
Megjegyzések
A munkaterület tulajdonosának engedélyeinek lekéréséhez vagy beállításához hívja meg a DAO-t közvetlenül az Engedélyek tulajdonság beállításának ellenőrzéséhez; ez határozza meg, hogy a felhasználó milyen engedélyekkel rendelkezik. Az engedélyek használatához RENDSZER szükséges. MDA-fájl.
További információ a DAO közvetlen hívásáról: Technical Note 54. A kapcsolódó információkért tekintse meg a DAO súgójának "UserName tulajdonság" című témakörét.
CDaoWorkspace::GetVersion
Hívja meg ezt a tagfüggvényt a használt Microsoft Jet adatbázismotor verziójának meghatározásához.
static CString PASCAL GetVersion();
Visszaadott érték
Egy CString , amely az objektumhoz társított adatbázismotor verzióját jelzi.
Megjegyzések
A visszaadott érték a verziószámot jelöli a "major.minor" formában; például: "3.0". A termék verziószáma (például 3.0) a verziószámból (3), egy időszakból és a kiadási számból (0) áll.
A kapcsolódó információkért tekintse meg a DAO súgójának "Verziótulajdonság" című témakörét.
CDaoWorkspace::GetWorkspaceCount
Hívja meg ezt a tagfüggvényt az adatbázismotor Munkaterületek gyűjteményében található DAO-munkaterület-objektumok számának lekéréséhez.
short GetWorkspaceCount();
Visszaadott érték
A Munkaterületek gyűjteményben megnyitott munkaterületek száma.
Megjegyzések
Ez a szám nem tartalmaz a gyűjteményhez nem fűzött nyitott munkaterületeket.
GetWorkspaceCount akkor hasznos, ha a Munkaterületek gyűjtemény összes definiált munkaterületén végig kell haladnia. A gyűjtemény adott munkaterületével kapcsolatos információkért lásd a GetWorkspaceInfo című témakört. A szokásos használat a nyitott munkaterületek számának hívása GetWorkspaceCount , majd ezt a számot használja ciklusindexként a felé irányuló ismételt hívásokhoz GetWorkspaceInfo.
CDaoWorkspace::GetWorkspaceInfo
Hívja meg ezt a tagfüggvényt a munkamenetben megnyitott munkaterület különböző információinak lekéréséhez.
void GetWorkspaceInfo(
int nIndex,
CDaoWorkspaceInfo& wkspcinfo,
DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);
void GetWorkspaceInfo(
LPCTSTR lpszName,
CDaoWorkspaceInfo& wkspcinfo,
DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);
Paraméterek
nIndex
Az adatbázis-objektum nulla alapú indexe a Munkaterületek gyűjteményben az index szerinti kereséshez.
wkspcinfo
Hivatkozás egy CDaoWorkspaceInfo objektumra, amely a kért információkat adja vissza.
dwInfoOptions
A munkaterület beolvasandó információinak megadására szolgáló beállítások. A rendelkezésre álló lehetőségeket itt találja, valamint azt is, hogy mi okozza a függvény visszatérését:
AFX_DAO_PRIMARY_INFO (alapértelmezett) név
AFX_DAO_SECONDARY_INFO elsődleges információ, valamint: Felhasználónév
AFX_DAO_ALL_INFO elsődleges és másodlagos információk, valamint: ODBCTrans elkülönítése
lpszName
A munkaterület-objektum neve név alapján történő kereséshez. A név legfeljebb 14 karakter hosszúságú sztring, amely egyedileg nevezi el az új munkaterület-objektumot.
Megjegyzések
A wkspcinfo-ban visszaadott információk leírását a CDaoWorkspaceInfo szerkezetében talál. Ez a struktúra olyan tagokkal rendelkezik, amelyek megfelelnek a dwInfoOptions leírásában felsorolt információknak. Ha egy szinten kér információt, a korábbi szintekről is kap információkat.
CDaoWorkspace::Tétlen
Hívja meg Idle az adatbázismotort, hogy olyan háttérfeladatokat hajtson végre, amelyek az intenzív adatfeldolgozás miatt nem up-todátummal.
static void PASCAL Idle(int nAction = dbFreeLocks);
Paraméterek
nAction
A tétlen feldolgozás során végrehajtandó művelet. Jelenleg az egyetlen érvényes művelet az dbFreeLocks.
Megjegyzések
Ez gyakran igaz többfelhasználós, többfeladatos környezetekben, ahol nincs elegendő háttérfeldolgozási idő ahhoz, hogy egy rekordhalmaz összes rekordja naprakész legyen.
Megjegyzés:
A Hívás Idle nem szükséges a Microsoft Jet adatbázismotor 3.0-s verziójával létrehozott adatbázisok esetén. Csak a korábbi verziókkal létrehozott adatbázisokhoz használható Idle .
Az olvasási zárolások általában törlődnek, és a helyi dinasztiás típusú rekordhalmaz-objektumok adatai csak akkor frissülnek, ha más műveletek (beleértve az egérmozgásokat) nem történnek. Ha rendszeresen hív, Idleidőt biztosít az adatbázismotornak a háttérfeldolgozási feladatok felzárkózására a szükségtelen olvasási zárolások felszabadításával. Az állandó argumentumként való megadása késlelteti a dbFreeLocks feldolgozást, amíg az összes olvasási zárolás ki nem szabadul.
Ez a tagfüggvény csak akkor szükséges egyfelhasználós környezetekben, ha egy alkalmazás több példánya fut. A Idle tagfüggvény növelheti a teljesítményt egy többfelhasználós környezetben, mivel az adatbázismotort arra kényszeríti, hogy adatokat ürítsen ki a lemezre, és felszabadítsa a memória zárolását. Az olvasási zárolásokat úgy is feloldhatja, hogy a műveletek egy tranzakció részét képezik.
A kapcsolódó információkért tekintse meg a DAO súgójának "Tétlen módszer" című témakörét.
CDaoWorkspace::IsOpen
Hívja meg ezt a tagfüggvényt annak megállapításához, hogy az CDaoWorkspace objektum nyitva van-e. Ez azt jelenti, hogy az MFC-objektumot a Megnyitás vagy a Létrehozás hívása inicializálta.
BOOL IsOpen() const;
Visszaadott érték
Nonzero, ha a munkaterület objektuma meg van nyitva; egyéb esetben 0.
Megjegyzések
Egy nyitott állapotú munkaterület bármelyik tagfüggvényét meghívhatja.
CDaoWorkspace::m_pDAOWorkspace
A mögöttes DAO-munkaterület objektumára mutató mutató.
Megjegyzések
Ezt az adattagot akkor használja, ha közvetlen hozzáférésre van szüksége a mögöttes DAO-objektumhoz. Ezen a mutatón keresztül meghívhatja a DAO-objektum felületeit.
További információ a DAO-objektumok közvetlen eléréséről: Technical Note 54.
CDaoWorkspace::Megnyitás
Explicit módon megnyitja a DAO alapértelmezett munkaterületéhez társított munkaterület-objektumot.
virtual void Open(LPCTSTR lpszName = NULL);
Paraméterek
lpszName
A megnyitni kívánt DAO-munkaterület-objektum neve – legfeljebb 14 karakterből álló sztring, amely egyedileg nevezi el a munkaterületet. Fogadja el az alapértelmezett NULL értéket az alapértelmezett munkaterület explicit megnyitásához. Az elnevezési követelményekért tekintse meg a LétrehozáslpszName paraméterét. A kapcsolódó információkért tekintse meg a DAO súgójának "Névtulajdonság" című témakörét.
Megjegyzések
Objektum létrehozása CDaoWorkspace után hívja meg ezt a tagfüggvényt a következő műveletek egyikére:
Explicit módon nyissa meg az alapértelmezett munkaterületet. Az lpszName null értékének átadása.
Nyisson meg egy meglévő
CDaoWorkspaceobjektumot, a Munkaterületek gyűjtemény egyik tagját név szerint. Adjon meg érvényes nevet egy meglévő munkaterület-objektumnak.
Open A munkaterület-objektumot nyitott állapotba helyezi, és inicializálja az adatbázismotort is, ha még nem inicializálta az alkalmazást.
Bár számos CDaoWorkspace tagfüggvény csak a munkaterület megnyitása után hívható meg, a következő tagfüggvények, amelyek az adatbázismotoron működnek, a C++ objektum felépítése után, de a következő hívás Openelőtt érhetők el:
CDaoWorkspace::RepairDatabase
Hívja meg ezt a tagfüggvényt, ha meg kell próbálnia kijavítani a Microsoft Jet adatbázismotorhoz hozzáférő sérült adatbázist.
static void PASCAL RepairDatabase(LPCTSTR lpszName);
Paraméterek
lpszName
Egy meglévő Microsoft Jet-motor adatbázisfájljának elérési útja és fájlneve. Ha kihagyja az elérési utat, a rendszer csak az aktuális könyvtárban keres. Ha a rendszer támogatja az egységes elnevezési konvenciót (UNC), megadhat egy hálózati útvonalat is, például: "\\\\MYSERVER\\MYSHARE\\MYDIR\\MYDB. MDB". (Dupla fordított perjelekre van szükség az elérési út sztringjében, mert a "\" a C++ feloldó karakter.)
Megjegyzések
A javítás előtt be kell zárnia az lpszName által megadott adatbázist. Többfelhasználós környezetben más felhasználók nem nyithatják meg az lpszName-t a javítás során. Ha az lpszName nincs bezárva, vagy nem érhető el kizárólagos használatra, hiba történik.
Ez a tagfüggvény egy olyan adatbázist próbál kijavítani, amelyet egy hiányos írási művelet valószínűleg sérültként jelölt meg. Ez akkor fordulhat elő, ha egy Microsoft Jet adatbázismotort használó alkalmazás áramkimaradás vagy számítógépes hardverhiba miatt váratlanul bezárul. Ha végrehajtja a műveletet, és meghívja a Tag bezárása függvényt, vagy a szokásos módon lép ki az alkalmazásból, az adatbázis nem lesz valószínűleg sérültként megjelölve.
Megjegyzés:
Az adatbázis javítása után célszerű tömöríteni a CompactDatabase tagfüggvénnyel a fájl töredezettségmentesítéséhez és a lemezterület helyreállításához.
Az adatbázisok javításával kapcsolatos további információkért tekintse meg a DAO súgójának "RepairDatabase Method" című témakörét.
CDaoWorkspace::Visszaállítás
Hívja meg ezt a tagfüggvényt az aktuális tranzakció befejezéséhez, és állítsa vissza a munkaterület összes adatbázisát a feltételükre a tranzakció megkezdése előtt.
void Rollback();
Megjegyzések
Caution
Egy munkaterület-objektumon belül a tranzakciók mindig globálisak a munkaterületen, és nem korlátozódnak csak egy adatbázisra vagy rekordkészletre. Ha több adatbázison vagy rekordhalmazon hajt végre műveleteket egy munkaterület-tranzakción belül, Rollback az összes műveletet visszaállítja az összes adatbázison és rekordhalmazon.
Ha a függőben lévő tranzakciók mentése vagy visszaállítása nélkül zár be egy munkaterület-objektumot, a rendszer automatikusan visszaállítja a tranzakciókat. Ha meghívja a CommitTranst , vagy Rollback a BeginTrans első hívása nélkül, hiba történik.
Megjegyzés:
A tranzakció megkezdésekor az adatbázismotor a műveleteket a munkaállomás TEMP környezeti változója által megadott könyvtárban tárolt fájlban rögzíti. Ha a tranzakciónapló-fájl kimeríti a TEMP-meghajtón elérhető tárterületet, az adatbázismotor az MFC-t ( CDaoException 2004-ben észlelt DAO-hiba) okozza. Ekkor, ha meghívja CommitTrans, meghatározatlan számú művelet lesz véglegesítve, de a fennmaradó befejezetlen műveletek elvesznek, és a műveletet újra kell indítani. A hívás Rollback felszabadítja a tranzakciónaplót, és visszaállítja a tranzakció összes műveletét.
CDaoWorkspace::SetDefaultPassword
Hívja meg ezt a tagfüggvényt az adatbázismotor által használt alapértelmezett jelszó beállításához, amikor egy munkaterület-objektumot egy adott jelszó nélkül hoz létre.
static void PASCAL SetDefaultPassword(LPCTSTR lpszPassword);
Paraméterek
lpszPassword
Az alapértelmezett jelszó. A jelszó legfeljebb 14 karakter hosszúságú lehet, és az ASCII 0 (null) kivételével bármilyen karaktert tartalmazhat. A jelszavak megkülönböztetik a kis- és nagybetűket.
Megjegyzések
A beállított alapértelmezett jelszó a hívás után létrehozott új munkaterületekre vonatkozik. A következő munkaterületek létrehozásakor nem kell jelszót megadnia a hívás létrehozásakor .
A tagfüggvény használata:
Hozzon létre egy objektumot
CDaoWorkspace, de ne hívja megCreate.Hívjon
SetDefaultPassword, és ha tetszik, SetDefaultUser.Jelszó megadása nélkül hívja meg
Createezt a munkaterület-objektumot vagy az azt követő objektumokat.
Alapértelmezés szerint a DefaultUser tulajdonság "admin" értékre van állítva, a DefaultPassword tulajdonság pedig egy üres sztring ("").
A biztonságról további információt a DAO súgójának "Engedélyek tulajdonsága" című témakörében talál. A kapcsolódó információkért tekintse meg a DAO súgójának "DefaultPassword tulajdonság" és "DefaultUser tulajdonság" témakörét.
CDaoWorkspace::SetDefaultUser
Hívja meg ezt a tagfüggvényt az adatbázismotor által használt alapértelmezett felhasználónév beállításához, amikor egy munkaterület-objektumot egy adott felhasználónév nélkül hoz létre.
static void PASCAL SetDefaultUser(LPCTSTR lpszDefaultUser);
Paraméterek
lpszDefaultUser
Az alapértelmezett felhasználónév. A felhasználónév 1–20 karakter hosszú lehet, és betűrendes karaktereket is tartalmazhat, ékezetes karakterek, számok, szóközök és szimbólumok, kivéve: " (idézőjelek), / (perjel), \ (fordított perjel), [ ] (szögletes zárójelek), : (kettőspont), | (pipa), < (kisebb mint jel), > (nagyobb jel), + (pluszjel), = (egyenlőségjel), ; (pontosvessző), , ( vessző), (kérdőjel), * (csillag), kezdő szóközök és vezérlőkarakterek (ASCII 00–ASCII 31). A kapcsolódó információkért tekintse meg a DAO súgójának "UserName tulajdonság" című témakörét.
Megjegyzések
A beállított alapértelmezett felhasználónév a hívás után létrehozott új munkaterületekre vonatkozik. A következő munkaterületek létrehozásakor nem kell felhasználónevet megadnia a hívás létrehozásakor .
A tagfüggvény használata:
Hozzon létre egy objektumot
CDaoWorkspace, de ne hívja megCreate.Hívja fel
SetDefaultUsera SetDefaultPassword parancsot, és ha szeretné.Hívja meg
Createezt a munkaterület-objektumot vagy az azt követő objektumokat felhasználónév megadása nélkül.
Alapértelmezés szerint a DefaultUser tulajdonság "admin" értékre van állítva, a DefaultPassword tulajdonság pedig egy üres sztring ("").
További információ: "DefaultUser Tulajdonság" és "DefaultPassword tulajdonság" a DAO súgójában.
CDaoWorkspace::SetIniPath
Hívja meg ezt a tagfüggvényt a Microsoft Jet adatbázismotor windowsos beállításjegyzék-beállításainak helyének megadásához.
static void PASCAL SetIniPath(LPCTSTR lpszRegistrySubKey);
Paraméterek
lpszRegistrySubkey
A Microsoft Jet adatbázismotor beállításainak vagy a telepíthető ISAM-adatbázisokhoz szükséges paramétereknek a Windows beállításjegyzék-alkulcsának nevét tartalmazó sztring.
Megjegyzések
Csak akkor hívjon SetIniPath , ha speciális beállításokat kell megadnia. További információ: "IniPath Tulajdonság" a DAO súgójában.
Megjegyzés:
Hívás SetIniPath az alkalmazás telepítése során, nem az alkalmazás futtatásakor.
SetIniPath a munkaterületek, adatbázisok vagy rekordhalmazok megnyitása előtt meg kell hívni; ellenkező esetben az MFC kivételt jelez.
Ezzel a mechanizmussal konfigurálhatja az adatbázismotort a felhasználó által megadott beállításjegyzék-beállításokkal. Az attribútum hatóköre az alkalmazásra korlátozódik, és az alkalmazás újraindítása nélkül nem módosítható.
CDaoWorkspace::SetIsolateODBCTrans
Hívja meg ezt a tagfüggvényt a munkaterület DAO IsolateODBCTrans tulajdonságának beállításához.
void SetIsolateODBCTrans(BOOL bIsolateODBCTrans);
Paraméterek
bIsolateODBCTrans
Adja meg az IGAZ értéket, ha el szeretné kezdeni az ODBC-tranzakciók elkülönítését. Ha le szeretné állítani az ODBC-tranzakciók elkülönítését, adja meg a HAMIS értéket.
Megjegyzések
Bizonyos esetekben előfordulhat, hogy több egyidejű tranzakcióra is szükség van ugyanazon az ODBC-adatbázisban. Ehhez minden tranzakcióhoz külön munkaterületet kell megnyitnia. Bár minden munkaterület rendelkezhet saját ODBC-kapcsolattal az adatbázishoz, ez lelassítja a rendszer teljesítményét. Mivel a tranzakcióelkülönítés általában nem szükséges, az ugyanazon felhasználó által megnyitott több munkaterület-objektum ODBC-kapcsolatai alapértelmezés szerint meg vannak osztva.
Egyes ODBC-kiszolgálók, például a Microsoft SQL Server nem engedélyezik az egyidejű tranzakciókat egyetlen kapcsolaton. Ha egyszerre több tranzakcióra van szüksége egy ilyen adatbázisra vonatkozóan, a megnyitás után azonnal állítsa az IsolateODBCTrans tulajdonságot TRUE értékre az egyes munkaterületeken. Ez külön ODBC-kapcsolatot kényszerít ki minden munkaterülethez.
CDaoWorkspace::SetLoginTimeout
Hívja meg ezt a tagfüggvényt a munkaterület DAO LoginTimeout tulajdonságának beállításához.
static void PASCAL SetLoginTimeout(short nSeconds);
Paraméterek
nSeconds
Az ODBC-adatbázisba való bejelentkezéskor a hiba bekövetkezése előtti másodpercek száma.
Megjegyzések
Ez az érték azt a másodpercet jelöli, amely után hiba lép fel, amikor odBC-adatbázisba próbál bejelentkezni. Az alapértelmezett LoginTimeout beállítás 20 másodperc. Ha a LoginTimeout értéke 0, nem történik időtúllépés, és az adatforrással folytatott kommunikáció leállhat.
Amikor egy ODBC-adatbázisba ( például a Microsoft SQL Serverbe) próbál bejelentkezni, a kapcsolat hálózati hibák vagy a kiszolgáló nem fut. Ahelyett, hogy az alapértelmezett 20 másodpercre vár, megadhatja, hogy az adatbázismotor mennyi ideig várjon, mielőtt hibát eredményez. A kiszolgálóra való bejelentkezés implicit módon számos különböző esemény részeként történik, például lekérdezések futtatása külső kiszolgálói adatbázisban. Az időtúllépés értékét a LoginTimeout tulajdonság aktuális beállítása határozza meg.
A kapcsolódó információkért tekintse meg a "LoginTimeout tulajdonság" témakört a DAO súgójában.
Lásd még
CObject osztály
hierarchiadiagram
CDaoDatabase osztály
CDaoRecordset osztály
CDaoTableDef osztály
CDaoQueryDef osztály
CDaoException osztály