• DAO. Obiekt Database
Obiekt Database reprezentuje otwartą bazę danych.
Zastosowanie obiektu Database
Obiekt Database oraz jego metody i właściwości można wykorzystywać do wykonywania działań na otwartej bazie danych. Za pomocą obiektu Database można:
- Uruchomić
kwerendę funkcjonalną
, wykorzystując metodę Execute. - Nawiązać połączenie ze źródłem danych ODBC, ustawiając właściwość Connect.
- Ograniczyć czas oczekiwania na wykonanie kwerendy dotyczącej źródła danych ODBC, ustawiając właściwość QueryTimeout.
- Określić maksymalną liczbę rekordów, które zostały zmienione przez kwerendę funkcjonalną, wykorzystując właściwość RecordsAffected.
-
Wykonać
kwerendę wybierającą
i utworzyć obiekt Recordset, wykorzystując metodę OpenRecordset. - Określić, w której wersji aparatu bazy danych została utworzona konkretna baza danych, wykorzystując właściwość Version.
Obiekt Database w obszar roboczym Microsoft Jet
W przypadku bazy danych Microsoft Jet
(plik .mdb, .accdb), w obszarze roboczym Microsoft Jet
do wykonywania działań na obiekcie Database, takich jak tworzenie, modyfikacja lub odczytywanie danych
dotyczących jego tabel, kwerend i związków, można również wykorzystywać inne metody, właściwości i kolekcje. Można na przykład:
- Utworzyć tabele i związki, wykorzystując odpowiednio metody CreateTableDef i CreateRelation.
- Utworzyć nowe właściwości Database, wykorzystując metodę CreateProperty.
- Utworzyć
obiekt trwały
lub tymczasową kwerendę, wykorzystując metodę CreateQueryDef. -
Utworzyć i zsynchronizować pełne lub częściowe
repliki
bazy danych, wykorzystując metody MakeReplica, Synchronize i PopulatePartial. - Określić alfabetyczny porządek sortowania dla pól znakowych w różnych językach, ustawiając właściwość CollatingOrder.
Obiekt Database w obszar roboczym ODBCDirect
W obszarze roboczym ODBCDirect
można
• Uzyskać odwołanie do obiektu Connection, odpowiadającego obiektowi Database, wykorzystując
właściwość Connection.
Aby utworzyć trwały obiekt
Database, który zostanie automatycznie dodany
do kolekcji Databases, a następnie zapisany na dysk, należy użyć metody CreateDatabase.
Jeśli wykorzystywana jest metoda OpenDatabase, określenie obiektu DBEngine nie jest konieczne.
Otwarcie bazy danych z tabelami połączonymi
nie ustanawia automatycznie
łączy do określonych plików zewnętrznych lub do źródła danych ODBC dołączonego
do aparatu Microsoft Jet
. Należy odwołać się do obiektów TableDef
lub Field odpowiedniej tabeli lub otworzyć obiekt Recordset.
Jeśli ustanowienie połączeń do tych tabel nie jest możliwe, wystąpi błąd przechwytywalny.
Przyczyną może być również brak uprawnień dostępu do bazy danych lub otwarcie bazy danych przez innego
użytkownika w trybie wyłączności. W takich przypadkach również wygenerowany zostanie błąd przechwytywalny.
Wykorzystując metodę OpenDatabase, zewnętrzną bazę danych (taką jak FoxPro, dBASE i Paradox) można otworzyć bezpośrednio, zamiast otwierania bazy danych Microsoft Jet, posiadającej łącza do tabel takiej bazy danych.
Uwaga. Nie jest wskazane otwieranie obiektu Database bezpośrednio w połączonym z aparatem Microsoft Jet źródle danych ODBC, takim jak Microsoft SQL Server, ponieważ wydajność kwerendy jest mniejsza niż przy wykorzystywaniu tabel połączonych. Jakkolwiek przy otwieraniu obiektu Database bezpośrednio w zewnętrznym pliku bazy danych ISAM, takiej jak FoxPro, Paradox i innej, problem wydajności kwerendy nie istnieje.
Jeśli wykonana zostanie procedura deklarująca obiekt Database, lokalne obiekty Database zostaną zamknięte razem ze wszystkimi otwartymi obiektami Recordset. Wszystkie nie zapisane zmiany będą utracone, a transakcje nie zakończone będą wycofane. Przed zakończeniem działania procedury, która lokalnie deklaruje te zmienne obiektowe, każda aktywna transakcja i edycja powinny być zakończone, a obiekty Recordset i Database zamknięte.
Jeśli w obiekcie Workspace jest wykorzystywana jedna z metod obsługujących transakcje (BeginTrans, CommitTrans
lub Rollback), te transakcje zostaną zastosowane do wszystkich baz danych otwartych w tym
obiekcie Workspace, z którego był otwarty obiekt Database. Jeśli stosowane
transakcje
mają być niezależne, należy najpierw otworzyć dodatkowy obiekt Workspace,
a następnie otworzyć inny obiekt Database w tym obiekcie Workspace.
Uwaga.
To samo źródło danych można otworzyć więcej niż raz, tworząc powtarzające się nazwy w kolekcji Databases.
Należy przypisać obiekty Database do zmiennych obiektowych
i odwoływać się do nich poprzez nazwę zmiennej.
Słownik użytych terminów.
- • baza danych Microsoft Jet
- Baza danych utworzona przez aparat bazy danych Microsoft Jet. Plik bazy danych Microsoft Jet ma rozszerzenie nazwy .mdb lub .accdb.
- • obszar roboczy Microsoft Jet
- Obszar roboczy wykorzystujący aparat bazy danych Microsoft Jet w celu uzyskiwania dostępu do źródła danych. Źródłem danych może być plik bazy danych Microsoft Jet (.mdb), baza danych ODBC, jak np. baza danych Paradox, lub baza danych ISAM.
- • obszar roboczy ODBCDirect
- Obszar roboczy wykorzystujący technologię ODBCDirect w celu uzyskiwania bezpośredniego dostępu do źródeł danych ODBC, z pominięciem aparatu bazy danych Microsoft Jet.
- • kwerenda funkcjonalna
- Kwerenda kopiująca lub zmieniająca dane. Do kwerend funkcjonalnych zaliczane są kwerendy dołączające, usuwające, tworzące tabele i aktualizujące. Kwerendy usuwające i aktualizujące zmieniają istniejące dane, a kwerendy dołączające i tworzące tabele kopiują istniejące dane. W przeciwieństwie do omawianych kwerend, kwerendy wybierające zwracają rekordy. Kwerenda przekazująca SQL może być także kwerendą funkcjonalną.
- • kwerenda wybierająca
- Kwerenda formułująca zapytanie o dane przechowywane w tabelach i zwracająca obiekt Recordset bez dokonywania jakichkolwiek zmian w tych danych. Po pobraniu danych do obiektu Recordset dane te można przejrzeć i wprowadzić zmiany do tabel, z których pochodzą. W przeciwieństwie do kwerend wybierających kwerendy funkcjonalne mogą wprowadzać zmiany w danych, ale nie zwracają rekordów danych.
- • obiekt trwały
- Obiekt przechowywany w bazie danych, na przykład tabela bazy danych lub obiekt QueryDef. Obiekty Recordset typu zestaw dynamiczny lub utrwalonego nie są zaliczane do obiektów trwałych, ponieważ jeśli są potrzebne, tworzone są w pamięci.
- • replika
-
Kopia bazy danych zawierająca jej tabele, kwerendy, formularze, raporty, makra i moduły. Replika
jest elementem zestawu replik i może być synchronizowana z innymi replikami w zestawie.
Zmiany danych w replikowanej tabeli jednej repliki są wysyłane i stosowane do innych elementów zestawu replik.
Uwaga. Wzorzec jest także repliką. - • tabela połączona
- Tabela z innej bazy danych połączona z bazą danych Microsoft Jet w trakcie operowania na nich, dane połączonych tabel pozostają w zewnętrznej bazie danych. Tabele te dawniej nazywane były tabelami dołączanymi.
- • transakcja
-
Seria zmian wykonanych na danych i schemacie bazy danych. Początek transakcji oznaczany jest instrukcją BeginTrans,
zatwierdzenie transakcji wykonywane jest instrukcją CommitTrans, a wszystkie zmiany wykonane od momentu
wykonania instrukcji BeginTrans mogą zostać wycofane przez wywołanie instrukcji Rollback.
Stosowanie transakcji nie jest obowiązkowe. Transakcje mogą być zagnieżdżane do pięciu poziomów. Transakcje zwiększają szybkość wykonywania operacji zmieniających dane i dają możliwość łatwego anulowania zmian.
Transakcje są globalne względem obiektu Workspace zawierającego obiekty bazy danych, których dotyczą. - • Menedżer sterowników ODBC
- Aplikacja zarządzająca połączeniami pomiędzy źródłami danych ODBC, a sterownikami umożliwiającymi dostęp do nich.
- • ciąg połączenia
- Ciąg wykorzystywany do zdefiniowania źródła danych dla zewnętrznej bazy danych. Ciąg połączenia jest zwykle przypisywany do właściwości Connect obiektu QueryDef, TableDef, Connection lub Database albo jest podawany jako argument metody OpenDatabase.
- • sterownik ODBC
- Biblioteka dołączana dynamicznie (dynamic link library, DLL) wykorzystywana przez inne aplikacje (klientów) do połączenia się z określonym źródłem danych ODBC.
- • ciąg o długości zerowej
- Ciąg nie zawierający żadnych znaków (""). Funkcja Len wywołana dla takiego ciągu zwraca wartość 0.
- • źródło danych ODBC dołączone do aparatu Microsoft Jet
- Źródło danych ODBC, do którego dostęp jest realizowany z wykorzystaniem obiektów dostępu do danych (DAO) i aparatu bazy danych Microsoft Jet.
- • zmienna obiektowa
- Zmienna zawierająca odesłanie do obiektu.