Übersicht über Microsoft Jet- und Replikationsobjekte

Mit Microsoft® Jet- und Replikationsobjekten (JRO) können Sie zu Ihren Anwendungen Features hinzufügen, die für das Microsoft Jet-Datenbankmodul spezifisch sind. Die Jet- und Replikationsobjekte basieren im Wesentlichen auf Microsoft® ActiveX® Data Objects (ADO), da sie mit einem Connection-Objekt von ADO verbunden sind. Die Jet- und Replikationsobjekte funktionieren jedoch nur mit Microsoft Jet-Datenbanken. Weitere Informationen zu ADO und zum Connection-Objekt finden Sie in der ADO Programmer's Reference oder in der ADO-Website unter http:\\www.microsoft.com\data.

Mit den Jet- und Replikationsobjekten können Sie:

  • Datenbankreplikatgruppen erstellen und synchronisieren.

  • Eine Datenbank komprimieren und Optionen für die komprimierte Datenbank angeben, wie z. B. Kennwörter und Verschlüsselung.

  • Den Speichercache aktualisieren, indem Sie ausstehende Datenänderungen in die Datenbank schreiben und die neuesten Daten aus der Datenbank im Speicher lesen.

Das Jet-Modul

Das Jet-Datenbankmodul wird durch JetEngine-Objekte dargestellt. Mit JetEngine-Objekten können Sie eine komprimierte Kopie einer Jet-Datenbank erstellen und Optionen zum Verschlüsseln von Daten, Ändern der Datenbankmodulversionen und Übergeben von Benutzer-IDs und Kennwörtern aufnehmen, die die Systemdatenbank oder Registrierungsinformationen angeben, gebietsschemaspezifische Sortierfolgen festlegen oder überschreiben, Beziehungen entfernen und beschädigte Replikate reparieren. Sie können auch erzwingen, dass alle ausstehenden Änderungen an den Daten verarbeitet werden, indem Sie den Cache von Datenbankoperationen vollständig leeren.

Replikate

Replizierte Datenbanken werden durch Replica-Objekte dargestellt. Mit Replica-Objekten erstellen Sie neue replizierte Datenbanken, definieren die Optionen für ein bestimmtes Replikat (vollständig, teilweise, Designmaster), synchronisieren die Änderungen zwischen zwei Replikaten und ermitteln Konflikte, die bei der Synchronisierung auftreten.

Filter

Teilreplikate werden mithilfe von Filter-Objekten erstellt, die in der Filters-Auflistung eines Replica-Objekts zusammengestellt sind. Filterobjekte definieren Kriterien, welche die Datensätze einschränken, die repliziert werden. Filter können auf Tabellen oder Beziehungen in einem Teilreplikat angewendet werden.

Weitere Informationen finden Sie, indem Sie nach einem bestimmten Objekt, einer Eigenschaft oder Methode suchen. Oder klicken Sie auf eines der folgenden Themen:

  • Jet- und Replikationsobjekte

  • Jet- und Replikationsauflistungen

  • Jet- und Replikationsmethoden

  • Jet- und Replikationseigenschaften

  • Jet und Replikation - Beispiele


Jet- und Replikationsobjektmodell

Das folgende Diagramm zeigt, wie die Jet- und Replikationsobjekte dargestellt werden und miteinander in Beziehung stehen.


Jet- und Replikationsobjekte

JRO-Objektzusammenfassung

Objekt | Beschreibung
Filter | Gibt Kriterien an, die das Recordset einer replizierten Datenbank eingrenzen.
JetEngine | Bietet Kontrollmöglichkeiten über Features, die spezifisch für das Jet-Modul sind, wie z. B. Komprimieren von Datenbanken und Aktualisieren von Daten aus dem Cache.
Replica | Stellt eine Kopie einer replizierten Datenbank dar.

Die Jet- und Replikationsobjekte bestehen aus drei Objekten: dem Filter, der Replica und der JetEngine. Filter-Objekte können in der Filters-Auflistung eines Replica-Objekts enthalten sein.

Filter-Objekte

Sie können Teilreplikate erstellen, indem Sie die Kriterien für ein Filter-Objekt angeben. Mit Filterkriterien können Sie bestimmte Daten auswählen, die repliziert werden sollen. Sie können beispielsweise nur die Datensätze aus einer Kundentabelle replizieren, die zu einem bestimmten Gebiet gehören.

JetEngine-Objekte

Verwenden Sie JetEngine-Objekte, um Datenbanken zu komprimieren und Daten mit anstehenden Änderungen aus dem Cache zu aktualisieren. Komprimieren Sie Datenbanken, um Speicherplatz zu sparen und Optionen für die neue Kopie der Datenbank anzugeben, z. B. Daten zu verschlüsseln, die Version des Datenbankmoduls zu ändern oder die Sortierreihenfolge nach Gebietsschema festzulegen. Aktualisieren Sie Daten aus dem Cache, um zu veranlassen, dass alle anstehenden Datenbankoperationen verarbeitet werden. Dies hält die Daten in einem Recordset auf dem neuesten Stand, sogar in einer Umgebung mit vielen Benutzern und einer großen Menge verarbeiteter Daten.

Replica-Objekte

Mithilfe von Replica-Objekten können Sie replizierte Datenbanken erstellen und pflegen. Mit Replikaten geben Sie einen Designmaster an, erstellen neue Replikate, holen sich Informationen zur Replizierbarkeit der Objekte in einer Datenbank und synchronisieren die Unterschiede zwischen zwei Replikaten.

Weitere Informationen zu den Eigenschaften und Methoden eines bestimmten Jet- und Replikationsobjekts finden Sie unter dem Thema zum entsprechenden Objekt.


Filter-Objekt (JRO)

Filter-Objekt

Gibt Kriterien an, die das Recordset einer replizierten Datenbank eingrenzen.

Hinweise

Replizieren Sie mithilfe eines Filter-Objekts eine Teilmenge der Datensätze in einer Datenbank. Mit Filtern können Sie Teilreplikate erstellen, die je nach Filterkriterien bestimmte Daten enthalten. Ein Filter-Objekt kann in der Filters-Auflistung eines Replica-Objekts enthalten sein.

Mit den Eigenschaften eines Filter-Objekts können Sie:

  • den Namen der Tabelle angeben, auf die der Filter angewendet wird, und zwar mit der TableName-Eigenschaft.

  • die FilterType-Eigenschaft verwenden, um zu bestimmen, ob der Filter auf einer Tabelle oder auf einer Beziehung basiert.

  • die Kriterien angeben, die ein Datensatz erfüllen muss, um vom vollständigen Replikat mit der FilterCriteria-Eigenschaft repliziert werden zu können.


JetEngine-Objekt (JRO)

JetEngine-Objekt

Bietet Kontrollmöglichkeiten über Features, die spezifisch für das Jet-Modul sind, wie z. B. Komprimieren von Datenbanken und Aktualisieren von Daten aus dem Cache.

Hinweise

Mithilfe eines JetEngine-Objekts können Sie auf Features des Jet-Datenbankmoduls zugreifen. Ein JetEngine-Objekt funktioniert nur, wenn es mit einer Jet-Datenquelle verbunden ist.

Mit den Methoden eines JetEngine-Objekts können Sie:

  • eine Datenbank komprimieren und andere Datenbankeigenschaften mit der CompactDatabase-Methode ändern

  • veranlassen, dass anstehende Änderungen an Daten im Cache verarbeitet werden, und dabei sicherstellen, dass ein Recordset oder die Datenbank mit der RefreshCache-Methode auf dem neuesten Stand gehalten wird


Replica-Objekt (JRO)

Replica-Objekt

Stellt eine Kopie einer replizierten Datenbank dar.

Hinweise

Mit den Auflistungen, Methoden und Eigenschaften eines Replica-Objekts können Sie folgende Verfahren ausführen:

  • mit der Filters-Auflistung auf die Filter für ein Replikat zugreifen

  • mit der CreateReplica-Methode ein neues Replikat erstellen

  • mit den GetObjectReplicability- und SetObjectReplicability-Methoden bestimmen, ob ein Objekt lokal oder repliziert ist

  • mit der MakeReplicable-Methode eine Datenbank replizierbar machen

  • mit der PopulatePartial-Methode ein Teilreplikat auffüllen

  • mit der Synchronize-Methode zwei Replikate synchronisieren

  • mit der ActiveConnection-Eigenschaft das Connection-Objekt von ADO oder die gültige Verbindungszeichenfolge angeben, mit der das Replikat verbunden ist

  • mit der ConflictFunction-Eigenschaft benutzerdefinierten Code zur Konfliktauflösung angeben

  • ein Recordset zurückgeben, das Tabellenkonflikte enthält, die während des Synchronisierens mit der ConflictTables-Eigenschaft auftraten

  • den eindeutigen Bezeichner des Designmasters in einer Replikatgruppe mit der DesignMasterId-Eigenschaft angeben

  • die relative Priorität eines Replikats mit der Priority-Eigenschaft zur Verwendung während einer Konfliktauflösung bestimmen

  • mit der RetentionPeriod-Eigenschaft angeben, wie lange Sie Replikationschronologien aufbewahren möchten

  • den eindeutigen Bezeichner des Replikats mit der ReplicaId-Eigenschaft zurückgeben

  • mit der ReplicaType-Eigenschaft bestimmen, ob für das Replikat die Optionen vollständig, teilweise oder Designmaster gelten

  • mit der Visibility-Eigenschaft bestimmen, ob das Replikat global, lokal oder anonym ist


Jet- und Replikationsauflistungen

Die Jet- und Replikationsobjekte enthalten eine Auflistung: Filters. Ein Replica-Objekt kann eine Filters-Auflistung enthalten. Die Filters-Auflistung enthält Filter-Objekte, die Kriterien festlegen, die das Recordset der replizierten Datenbank begrenzen.

Bei der Filters-Auflistung handelt es sich um eine standardmäßige ADO-Auflistung, die für den Zugriff auf die zugehörigen Elemente die folgenden Eigenschaften und Methoden verwendet: Count, Append, Delete, Item und Refresh.


Filters-Auflistung (JRO)

Filters-Auflistung

Enthält sämtliche Filter-Objekte für das Replikat.

Hinweise

Replica-Objekte können eine Filters-Auflistung enthalten.

Mit den Eigenschaften und Methoden einer Filters-Auflistung können Sie Folgendes:

  • die Anzahl der in der Auflistung enthaltenen Filter mit der Count-Eigenschaft zurückgeben

  • auf eine Spalte in der Auflistung mit der Item-Eigenschaft zugreifen

  • zu der Auflistung mit der Append-Methode einen neuen Filter hinzufügen

  • einen Filter mit der Delete-Methode aus der Auflistung entfernen

  • die Objekte in der Auflistung mit der Refresh-Methode aktualisieren, um das Schema der aktuellen Datenbank anzuzeigen


Jet- und Replikationsmethoden

Zusammenfassung der Methoden für JRO

Methode | Beschreibung
Append | Fügt ein neues Filter-Objekt der Filters-Auflistung eines Teil-Replica-Objekts hinzu
CompactDatabase | Kopiert und komprimiert eine geschlossene Datenbank. Ermöglicht Ihnen, ihre Version, Sortierreihenfolge, Verschlüsselung und weitere Optionen zu ändern.
CreateReplica | Erstellt ein neues Replikat der aktuellen replizierbaren Datenbank.
Delete | Entfernt das Filter-Objekt aus der Filters-Auflistung eines Replica-Objekts.
GetObjectReplicability | Gibt an, ob ein Objekt lokal oder repliziert ist.
MakeReplicable | Macht eine Datenbank replizierbar.
PopulatePartial | Füllt ein Teilreplikat auf.
Refresh | Aktualisiert die Objekte in einer Auflistung, um Objekte aufzunehmen, die vom Provider erhältlich und spezifisch für ihn sind.
RefreshCache | Veranlasst, dass alle nicht abgeschlossenen Speichervorgänge in MDB-Dateien gespeichert werden, und akualisiert den Arbeitsspeicher unter Verwendung der aktuellsten Daten dieser MDB-Datei.
SetObjectReplicability | Legt fest, ob ein Objekt lokal oder repliziert ist.
Synchronize | Synchronisiert zwei Replikate.


Append-Methode (JRO)

Append-Methode

Fügt der Filters-Auflistung eines Teil-Replica-Objekts ein neues Filter-Objekt hinzu.

Syntax

Filters.Append(TableName [, FilterType], FilterCriteria)

Parameter

TableName Ein Wert vom Datentyp String, der den Namen der Tabelle angibt, auf die der Filter mit der TableName-Eigenschaft angewendet wird.

FilterType Ein Wert vom Datentyp Enum, der die FilterType-Eigenschaft angibt, um zu bestimmen, ob der Filter auf einer Tabelle oder einer Beziehung basiert.

FilterCriteria Ein Wert vom Datentyp String, der die Kriterien angibt, die ein Datensatz erfüllen muss, um vom vollständigen Replikat mit der FilterCriteria-Eigenschaft repliziert werden zu können.

Hinweise

Ist das Replikat kein Teilreplikat, wie durch die ReplicaType-Eigenschaft definiert, tritt ein Fehler auf. Ist ein Filter desselben Namens und Typs bereits vorhanden, dann tritt ein Fehler auf.

Versuchen Sie, einen zweiten Filtertyp jrFilterTypeTable mit demselben Parameter TableName hinzuzufügen, dann tritt ein Fehler auf.


CompactDatabase-Methode (JRO)

CompactDatabase-Methode

Kopiert und komprimiert eine geschlossene Datenbank. Ermöglicht Ihnen, ihre Version, Sortierreihenfolge, Verschlüsselung und weitere Optionen zu ändern.

Syntax

JetEngine.CompactDatabase(SourceConnection, DestConnection)

Parameter

SourceConnection Ein Wert vom Datentyp String, der eine Verbindung zu der zu komprimierenden Quelldatenbank angibt. Ist die von SourceConnection angegebene Datenbank bereits geöffnet, dann tritt ein Fehler auf.

DestConnection Ein Wert vom Datentyp String, der eine Verbindung zu der Zieldatenbank angibt, die durch die Komprimierung erstellt werden soll. Ist die von DestConnection angegebene Datenbank oder eine andere Datei desselben Namens bereits vorhanden, dann tritt ein Fehler auf.

Hinweise

Mit den Connection-Eigenschaften werden Informationen zum Komprimieren der Datenbank angegeben. Es muss mindestens die Data Source-Eigenschaft für SourceConnection und DestConnection angegeben sein. In der folgenden Tabelle sind die Connection-Eigenschaften angegeben, die Sie bei dieser Methode verwenden können. Alle sonstigen Connection-Eigenschaften werden ignoriert.

Eigenschaft | Quelle | Ziel | Beschreibung
Provider |  |  | Gibt den Namen des zum Verbinden mit der Datenquelle zu verwendenden Providers an. Wird diese Eigenschaft nicht angegeben, dann wird vom Provider Microsoft.Jet.OLEDB.4.0 ausgegangen. Stimmt der Providername in der Quellzeichenfolge nicht mit dem Providernamen in der Zielzeichenfolge überein, dann tritt ein Fehler auf.
Data Source |  |  | Gibt den Namen der Datenbank an. Diese Eigenschaft ist für die Verbindungsinformationen zu Quelle und Ziel erforderlich
User Id |  |  | Gibt den Namen des Benutzers an, wenn die Quelldatenbank geschützt ist
Password |  |  | Gibt das Kennwort für den Benutzer an, wenn die Quelldatenbank geschützt ist
Locale Identifier |  |  | Gibt die lokale ID für die neue Datenbank an. Wenn diese Angabe unterbleibt, erhält die Zieldatenbank dieselbe lokale ID wie die Quelldatenbank. Das Gebietsschema gibt die Sortierreihenfolge für Zeichenfolgenvergleiche in der Datenbank an. Werte für die Zieldatenbank finden Sie im Abschnitt "Hinweise".
Jet OLEDB:Database Password |  |  | Gibt das Kennwort an, wenn die Datenbank kennwortgeschützt ist
Jet OLEDB:Engine Type |  |  | Gibt die Version der zu öffnenden Quelldatenbank bzw. die Version der neu zu erstellenden Datenbank an. Sie können folgende Typen von OLE DB-Modulen verwenden: 1 für JET, Version 1,0 2 für JET, Version 1.1 3 für JET, Version 2.x 4 für JET, Version 3.x 5 für JET, Version 4.x Wenn diese Angabe für die Zieldatenbank unterbleibt, wird sie standardmäßig auf 5 gesetzt. Der Wert für die Zieldatenbank kann keine frühere Version als die der Quelldatenbank sein.
Jet OLEDB:Registry Path |  |  | Legt Informationen zum Schlüssel in der Windows-Registrierung fest, der Werte für das Microsoft Jet-Datenbankmodul enthält.
Jet OLEDB:System Database |  |  | Gibt die Position der Systemdatenbank an.
Jet OLEDB:Encrypt Database |  |  | Gibt an, ob die neue Datenbank verschlüsselt werden soll. Wenn die Angabe dieses Parameters unterbleibt, erhält die Zieldatenbank dieselbe Verschlüsselung wie die Quelldatenbank.
Jet OLEDB:Don't Copy Locale on Compact |  |  | Gibt an, dass die Sortierreihenfolge der Datenbank verwendet werden soll und etwaige Ländereinstellungen für die jeweilige Spalte außer Kraft gesetzt werden sollen (Boolesch).
Jet OLEDB:Compact Without Relationships |  |  | Gibt an, ob Beziehungen in die neue Datenbank kopiert werden sollen (Boolesch).
Jet OLEDB:Compact Without Replica Repair |  |  | Gibt an, ob versucht werden soll, andere Replikate zu finden, um beschädigte replizierte Datenbanken zu reparieren (Boolesch).

Es ist nicht möglich, mit dieser Methode eine Komprimierung durchzuführen, bei der Quell- und Zieldatenbank gleich sind. Ein Fehler tritt auf, wenn der Provider das Komprimieren von Jet-Datenbanken nicht unterstützt.

Hinweise

In der folgenden Tabelle sind die Werte für die Zieldatenbank und die Gebietsschemakennung (Locale Identifier, LCID) aufgeführt:

Beschreibung | LCID
Allgemein | 0x00000409
Chinesische Interpunktion | 0x00000804
Chinesische Strichzählung | 0x00020804
Chinesische Strichzählung (Taiwan) | 0x00000404
Deutsches Telefonbuch | 0x00010407
Estnisch | 0x00000425
Französisch | 0x0000040c
Georgisch (modern) | 0x00010437
Isländisch | 0x0000040f
Japanisch | 0x00000411
Japanisch Unicode | 0x00010411
Koreanisch | 0x00000412
Koreanisch Unicode | 0x00010412
Kroatisch | 0x0000041a
Lettisch | 0x00000426
Litauisch | 0x00000427
Mandarin - phonetische Symbole (Taiwan) | 0x00030404
Mazedonisch | 0x0000042f
Norwegisch/Dänisch | 0x00000414
Polnisch | 0x00000415
Rumänisch | 0x00000418
Schwedisch/Finnisch | 0x0000041d
Slowakisch | 0x0000041b
Slowenisch | 0x00000424
Spanisch (modern) | 0x00000c0a
Spanisch (traditionell) | 0x0000040a
Thailändisch | 0x0000041e
Tschechisch | 0x00000405
Türkisch | 0x0000041f
Ukrainisch | 0x00000422
Ungarisch | 0x0000040e
Ungarisch (technisch) | 0x0001040e
Vietnamesisch | 0x0000042a

Anmerkung Die allgemeine Sortierreihenfolge enthält folgende Sprachen: Afrikaans, Albanisch, Arabisch, Baskisch, Bulgarisch, Englisch, Färöisch, Deutsch (Standard), Hebräisch, Hindi, Indonesisch, Italienisch, Katalanisch, Malaiisch, Neugriechisch, Neupersisch (Farsi), Niederländisch, Portugiesisch, Russisch, Serbisch, Suaheli, Urdu, Weißrussisch.


CreateReplica-Methode (JRO)

CreateReplica-Methode

Erstellt ein neues Replikat der aktuellen replizierbaren Datenbank.

Syntax

Replica.CreateReplica(ReplicaName, Beschreibung [, ReplicaType] [, Visibility]
[, Priority] [, Updatability])

Parameter

ReplicaName Ein Wert vom Datentyp String, der den Namen und Pfad des zu erstellenden vollständigen Replikats oder Teilreplikats angibt. Beim Angeben eines Namens von über 255 Zeichen Länge tritt ein Fehler auf.

Description Ein Wert vom Datentyp String, der das zu erstellende Replikat beschreibt.

ReplicaType Optional. Ein Wert vom Datentyp Enum, der den Typ des zu erstellenden Replikats angibt. Der Standardwert ist jrRepTypeFull. Weitere Informationen hierzu finden Sie unter der ReplicaType-Eigenschaft. Die folgenden Konstanten stellen gültige Werte für ReplicaType dar:

Konstante | Beschreibung
JrRepTypeFull | Das Replikat ist ein vollständiges Replikat.
JrRepTypePartial | Das Replikat ist ein Teilreplikat.

Visibility Optional. Ein Wert vom Datentyp Enum, der die Sichtbarkeit des Replikats angibt. Der Standardwert ist jrRepVisibilityGlobal. Weitere Informationen hierzu finden Sie unter der Visibility-Eigenschaft. Die folgenden Konstanten stellen gültige Werte für Visibility dar:

Konstante | Beschreibung
JrRepVisibilityGlobal | Das Replikat ist global.
JrRepVisibilityLocal | Das Replikat ist lokal.
JrRepVisibilityAnon | Das Replikat ist anonym.

Priority Optional. Ein Wert vom Datentyp Long, der die Priorität des Replikats zur Verwendung während der Konfliktlösung angibt. Der Standardwert ist -1. Dies zeigt an, dass die Datenbank den Standardwert bestimmen sollte. Bei globalen Replikaten beträgt die Standardpriorität 90 Prozent der Priorität des übergeordneten Replikats. Die gültigen Werte für ein globales Replikat können möglicherweise auch weiter eingeschränkt sein. Handelt es sich beim Benutzer um den Datenbankadministrator, dann ist der gesamte Bereich gültig. Andernfalls beträgt der Höchstwert der Priorität 90 Prozent der Priorität des übergeordneten Replikats. Bei lokalen und anonymen Replikaten beträgt der Wert stets 0 und kann nicht verändert werden. Dieser Wert wird beim Erstellen des Replikats festgesetzt; jeder davon abweichende Wert wird ignoriert. Weitere Informationen hierzu finden Sie unter der Priority-Eigenschaft.

Updatability Optional. Ein Wert vom Datentyp Enum, der angibt, welche Aktualisierungstypen erlaubt sind. Der Standardwert ist jrRepUpdFull. Die jrRepUpdReadOnly-Konstante verhindert, dass Benutzer Schema und Datensätze replizierbarer Objekte des neuen Replikats ändern können; wenn Sie allerdings das neue Replikat mit einem anderen Element der Replikatgruppe synchronisieren, werden Änderungen am Entwurf und an Daten auf das neue Replikat übertragen. Die folgenden Konstanten stellen gültige Werte für Updatability dar:

Konstante | Beschreibung
jrRepUpdFull | Das Replikat kann aktualisiert werden
jrRepUpdReadOnly | Das Replikat ist schreibgeschützt

Hinweise

Wurde das Replikat nicht erfolgreich geöffnet, und ist die ActiveConnection-Eigenschaft nicht festgelegt, dann tritt ein Fehler auf.

Diese Methode kann nur verwendet werden, wenn die Datenbank replizierbar ist. Ist die ReplicaType-Eigenschaft jedoch auf jrRepTypeNotReplicable gesetzt, und versucht der Benutzer, diese Methode zu verwenden, dann tritt ein Fehler auf.

Ein Replikat hat entweder genau dieselben Merkmale, wie das ihm zugrunde liegende Replikat, oder es ist stärker eingeschränkt. So können Sie beispielsweise mit einem schreibgeschützten globalen Replikat nur ein lokales oder anonymes schreibgeschütztes Replikat erstellen, während ein lokales Replikat wiederum nur ein weiteres lokales Replikat mit denselben Merkmalen erstellen kann.


Delete-Methode (JRO)

Delete-Methode

Entfernt das Filter-Objekt aus der Filters-Auflistung eines Replica-Objekts.

Syntax

Filters.Delete(Index)

Parameter

Index Ein Wert vom Datentyp Variant, der Namen oder Ordinalzahl des zu löschenden Filter-Objekts angibt.

Hinweise

Haben zwei Filter denselben Namen, dann wird der erste Filter entfernt. Verwenden Sie den Ordinalwert, um einen Filter explizit zu löschen, wenn mehrere Filter denselben Namen haben.

Enthält die Auflistung keinen Filter mit dem angegebenen Namen oder der angegebenen Ordinalzahl, dann tritt ein Fehler auf.


GetObjectReplicability-Methode (JRO)

GetObjectReplicability-Methode

Gibt an, ob ein Objekt lokal oder repliziert ist.

Syntax

Set ReturnValue = Replica.GetObjectReplicability(ObjectName, ObjectType)

Rückgabewert

Ein boolescher Wert, der angibt, ob das Objekt repliziert ist. In Datenbanken, die nicht replizierbar gemacht wurden, gibt diese Methode standardmäßig True für alle Objekte zurück. True gibt an, dass das Objekt replizierbar gemacht wird, sofern die Datenbank replizierbar gemacht wurde. Bei replizierbaren Datenbanken gibt diese Methode standardmäßig False für alle neuen Objekte zurück. False gibt an, dass das Objekt nicht repliziert ist.

Parameter

ObjectName Ein Wert vom Datentyp String, der den Namen des Objekts angibt, für das der Replikationsstatus abgerufen werden soll.

ObjectType Ein Wert vom Datentyp String, der den Typ des Objekts angibt, das durch ObjectName angegeben ist.

Hinweise

Die GetObjectReplicability-Methode gibt an, ob das Objekt repliziert ist oder repliziert werden wird.

Die Parameter ObjectName und ObjectType sind Zeichenfolgen, die den Namen des Objekts angeben (beispielsweise Kunden), sie geben außerdem an, wo sich das Objekt befindet (beispielsweise in einer Tabelle). Existiert kein Objekt dieses Namens und Typs in der Datenbank, tritt ein Fehler auf. Ist eine dieser Zeichenfolgen länger als 64 Zeichen, tritt ebenfalls ein Fehler auf.

Weitere Informationen zum Verändern der Replizierbarkeit von Objekten finden Sie unter der SetObjectReplicability-Methode.

Wenn das durch die Parameter ObjectName und ObjectType angegebene Objekt nicht existiert, tritt ein Fehler auf.


MakeReplicable-Methode (JRO)

MakeReplicable-Methode

Macht eine Datenbank replizierbar.

Syntax

Replica.MakeReplicable([ConnectString] [, ColumnTracking])

Parameter

ConnectString Optional. Ein Wert vom Datentyp String, der den Namen und Pfad der Datenbank angibt, die replizierbar gemacht werden soll. ConnectString setzt die ActiveConnection-Eigenschaft außer Kraft.

ColumnTracking Optional. Ein boolescher Wert, der angibt, ob Veränderungen spalten- oder zeilenweise überwacht werden sollen. Der Standardwert ist True. Die Lösung eines Konflikts auf Spaltenebene ermöglicht Ihnen, zwei Datensätze zusammenzuführen und einen Konflikt nur zu melden, wenn Änderungen gleichzeitig an demselben Feld vorgenommen wurden. Wenn es bei Ihnen häufig zu Überlappungen von Aktualisierungen in derselben Zeile kommt, könnte das Festlegen dieser Option die Leistung verbessern.

Hinweise

Wenn der Parameter ConnectString ausgelassen wird und die ActiveConnection-Eigenschaft noch nicht exklusiv festgelegt wurde, tritt ein Fehler auf. Wenn diese Methode erfolgreich ist, wird die ActiveConnection-Eigenschaft festgelegt.


PopulatePartial-Methode (JRO)

PopulatePartial-Methode

Füllt ein Teilreplikat auf.

Syntax

Replica.PopulatePartial(FullReplica)

Parameter

FullReplica Ein Wert vom Datentyp String, der den Pfad und Dateinamen des Replikats darstellt, das mit Daten aufgefüllt werden soll.

Hinweise

Beim Synchronisieren eines Teilreplikats mit einem vollständigen Replikat ist es möglich, im Teilreplikat "verwaiste" Datensätze zu erstellen. Sie haben beispielsweise einen Filter für die Kundentabelle mit einer FilterCriteria-Eigenschaft von "Region = 'CA'". Ändert ein Benutzer im Teilreplikat die Region des Kunden von CA zu NY und erfolgt danach eine Synchronisation mittels der Synchronize-Methode, dann wird die Änderung auf das vollständige Replikat übertragen. Doch der Datensatz im Teilreplikat, der NY enthält, ist "verwaist", da er jetzt nicht mehr den Filterkriterien des Replikats entspricht.

Um das Problem der verwaisten Datensätze zu lösen, können Sie die PopulatePartial-Methode verwenden. Die PopulatePartial-Methode ähnelt der Synchronize-Methode, synchronisiert jedoch alle Änderungen im Teilreplikat mit dem vollständigen Replikat, entfernt alle Datensätze aus dem Teilreplikat und füllt anschließend das Teilreplikat neu. Hierbei legt es die aktuellen Replikatfilter zugrunde. Selbst wenn die Replikatfilter unverändert sind, löscht PopulatePartial stets alle Datensätze im Teilreplikat und füllt sie auf der Grundlage der aktuellen Filter neu auf.

In der Regel sollten Sie die PopulatePartial-Methode verwenden, wenn Sie ein Teilreplikat erstellen und immer, wenn Sie die Replikatfilter verändern. Wenn die Anwendung die Replikatfilter verändert, sollten Sie nach den folgenden Schritten vorgehen:

  1. Synchronisieren Sie das vollständige Replikat mit dem Teilreplikat, in dem die Filter geändert werden.

  2. Verwenden Sie das Filter-Objekt, um die gewünschten Änderungen am Replikatfilter vorzunehmen.

  3. Rufen Sie die PopulatePartial-Methode auf, um alle Datensätze aus dem Teilreplikat zu entfernen und alle Datensätze aus dem vollständigen Replikat zu übertragen, die den neuen Kriterien des Replikatfilters entsprechen.

Ist ein Replikatfilter geändert worden, und wird die Synchronize-Methode aufgerufen, ohne dass zuvor PopulatePartial aufgerufen wurde, tritt ein auffangbarer Fehler auf.

Die PopulatePartial-Methode kann nur bei einem Teilreplikat aufgerufen werden, das für exklusiven Zugriff geöffnet worden ist. Außerdem kann die PopulatePartial-Methode nicht aus einem Code heraus aufgerufen werden, der im Teilreplikat selbst ausgeführt wird. Stattdessen sollten Sie das Teilreplikat exklusiv aus dem vollständigen Replikat oder aus einer anderen Datenbank öffnen und dann erst PopulatePartial aufrufen.

Anmerkung Obwohl PopulatePartial eine Synchronisation in einer Richtung durchführt, bevor das Teilreplikat gelöscht und neu aufgefüllt wird, ist es ratsam, Synchronize aufzurufen, bevor Sie PopulatePartial aufrufen. Bei Verwendung des direkten oder des Internetsynchronisationsmodus tritt ein auffangbarer Fehler auf, wenn der Aufruf von Synchronize fehlschlägt. Mithilfe dieses Fehlers können Sie entscheiden, ob Sie mit der PopulatePartial-Methode fortfahren möchten. Sie entfernt alle Datensätze im Teilreplikat. Bei der indirekten Synchronisation tritt kein auffangbarer Fehler auf; weitere Informationen hierzu finden Sie unter der Synchronize-Methode. Wenn PopulatePartial durch sich selbst aufgerufen wird und während der Synchronisation von Datensätzen ein Fehler auftritt, werden Datensätze im Teilreplikat dennoch gelöscht, was u. U. nicht beabsichtigt ist.

Diese Methode können Sie nur verwenden, wenn die Datenbank replizierbar ist und PartialReplica verwendet. Ist die ReplicaType-Eigenschaft jedoch auf jrRepTypeNotReplicable gesetzt, und versucht der Benutzer, diese Methode zu verwenden, dann tritt ein Fehler auf.


Refresh-Methode (JRO)

Refresh-Methode

Aktualisiert die Objekte in einer Auflistung, um Objekte aufzunehmen, die vom Provider erhältlich und spezifisch für ihn sind.

Syntax

collection.Refresh


RefreshCache-Methode (JRO)

RefreshCache-Methode

Veranlasst, dass alle nicht abgeschlossenen Speichervorgänge in MDB-Dateien gespeichert werden, und akualisiert den Arbeitsspeicher unter Verwendung der aktuellsten Daten dieser MDB-Datei.

Syntax

JetEngine.RefreshCache(Connection)

Parameter

Connection Das Connection-Objekt von ADO, für das der Cache aktualisiert werden soll. Ist die Verbindung kein gültiges, geöffnetes ADO-Connection-Objekt, dann tritt ein Fehler auf. Wenn der zum Herstellen der Verbindung verwendete Provider die RefreshCache-Methode nicht unterstützt, tritt ein Fehler auf.

Hinweise

Sie müssen diese Methode nicht in Einzelbenutzer-Umgebungen verwenden, es sei denn, es werden mehrere Verbindungen zu der Datenbank hergestellt. Die RefreshCache-Methode verbessert möglicherweise die Leistung in Umgebungen mit mehreren Benutzern, da sie das Datenbankmodul veranlasst, Daten auf den Datenträger zu schreiben, und dabei Sperren im Arbeitsspeicher aufhebt.


SetObjectReplicability-Methode (JRO)

SetObjectReplicability-Methode

Legt fest, ob ein Objekt lokal oder repliziert ist.

Syntax

Replica.SetObjectReplicability(ObjectName, ObjectType, Replicability)

Parameter

ObjectName Ein Wert vom Datentyp String, der den Namen des Objekts angibt, für das der Replikationsstatus abgerufen werden soll.

ObjectType Ein Wert vom Datentyp String, der den Typ des Objekts angibt, das durch ObjectName angegeben ist.

Replicability Ein boolescher Wert, der angibt, ob das Objekt repliziert ist oder repliziert werden wird.

Hinweise

Die SetObjectReplicability-Methode bewirkt, dass ein Objekt lokal oder repliziert wird. Ist die Datenbank nicht replizierbar gemacht worden, dann wird durch Festlegen des Parameters Replicability auf False angezeigt, dass das Objekt lokal bleiben sollte, wenn die Datenbank replizierbar gemacht wird. Objekte in nicht replizierbaren Datenbanken sind standardmäßig replizierbar. Allerdings sind neue Objekte, die in replizierbaren Datenbanken erstellt wurden, standardmäßig nicht replizierbar. Um ein neues Objekt in einer replizierbaren Datenbank replizierbar zu machen, setzen Sie den Parameter Replicability auf True.

Die Parameter ObjectName und ObjectType sind Zeichenfolgen, die den Namen des Objekts angeben (beispielsweise Customers), sie geben außerdem an, wo sich das Objekt befindet (beispielsweise in Tables). Existiert kein Objekt dieses Namens und Typs in der Datenbank, tritt ein Fehler auf. Ist eine dieser Zeichenfolgen länger als 64 Zeichen, tritt ebenfalls ein Fehler auf.

SetObjectReplicability wird bei Objekten in den folgenden Auflistungen von Microsoft Access ignoriert: Formulare, Berichte, DataAccessPages, Makros und Module. In Access regelt die MSysAccessObjects-Systemtabelle die Replizierbarkeit dieser Objekte. Die Einstellung kann nur festgelegt werden, bevor die Datenbank replizierbar gemacht wird. Der Standardwert ist True.

Weitere Informationen zum Bestimmen der Replizierbarkeit von Objekten finden Sie unter der GetObjectReplicability-Methode.


Synchronize-Methode (JRO)

Synchronize-Methode

Synchronisiert zwei Replikate.

Syntax

Replica.Synchronize(Target [, SyncType] [, SyncMode])

Parameter

Target Ein Wert vom Datentyp String, der Pfad und Dateinamen des Replikats angibt, mit dem eine Synchronisation durchgeführt werden soll, den Namen der Synchronisation, die das Zielreplikat verwaltet, oder den Namen des Internetservers, der das Zielreplikat enthält.

SyncType Optional. Ein Wert vom Datentyp Enum, der den Typ der auszuführenden Synchronisation angibt. Der Standardwert für den Parameter SyncType ist jrSyncTypeImpExp. Dabei sind die folgenden Werte für SyncType gültig:

Konstante | Beschreibung
JrSyncTypeExport | Sendet Änderungen vom aktuellen Replikat an das Zielreplikat
JrSyncTypeImport | Sendet Änderungen vom Zielreplikat an das aktuelle Replikat
JrSyncTypeImpExp | Standard. Sendet Änderungen vom aktuellen Replikat an das Zielreplikat und umgekehrt

SyncMode Optional. Ein Wert vom Datentyp Enum, der die Methode der Synchronisation angibt. jrSyncModeIndirect ist der Standardwert für den Parameter SyncMode. Dabei sind die folgenden Werte für SyncMode gültig:

Konstante | Beschreibung
JrSyncModeIndirect | Standard. Indirekte Synchronisation
JrSyncModeDirect | Direkte Synchronisation
JrSyncModeInternet | Indirekte Synchronisation über das Internet

Hinweise

Das im Parameter Target angegebene Replikat muss Teil derselben Replikatgruppe sein. Haben beide Replikate dieselbe Einstellung für die ReplicaId-Eigenschaft, oder sind sie Designmaster zweier unterschiedlicher Replikatgruppen, dann schlägt die Synchronisation fehl. Dies wird vom Provider veranlasst.

Wenn SyncMode auf indirekte Synchronisation festgelegt ist, muss der Wert des Parameters Target ein Synchronisationsname sein. Jet Replication legt die Änderungen in einem "Ablagefeld" ab. Die Synchronisation, die dieses Zielreplikat verwaltet, nimmt die Änderungen auf und wendet sie an. Damit die indirekte Synchronisation ordnungsgemäß funktionieren kann, muss eine Synchronisation auf dem lokalen Computer und auf dem Zielcomputer laufen.

Wenn SyncMode auf indirekte Synchronisation über das Internet festgelegt ist, muss der Wert des Parameters Target ein URL (Universal Resource Locator) anstelle eines LAN-Pfades sein. Ist ein URL im Parameter Target angegeben, und der Parameter SyncMode ist nicht jrSyncModeInternet, dann tritt ein Fehler auf.

Wenn SyncMode auf direkte Synchronisation festgelegt ist, werden beide Replikate gleichzeitig geöffnet und synchronisiert. Über ein WAN oder eine DFÜ-Verbindung werden Zuverlässigkeit und Leistung durch Verwenden der indirekten Synchronisation erhöht. Sie können auch mit einem SQL Server-Replikat in einer Replikatgruppe synchronisieren, die sowohl SQL Server- als auch Jet-Datenbanken enthält. Dazu legen Sie den Parameter Target auf ServerName.Database.Publication fest und führen eine direkte Synchronisation durch (jrSyncModeDirect). Wenn der Parameter Target ServerName.Database.Publication ist und SyncMode nicht auf direkte Synchronisation festgelegt ist, tritt ein Fehler auf.

Diese Methode kann nur verwendet werden, wenn die Datenbank replizierbar ist. Ist die ReplicaType-Eigenschaft jedoch auf jrRepTypeNotReplicable gesetzt, und versucht der Benutzer, diese Methode zu verwenden, dann tritt ein Fehler auf.

Für die Installation und Konfiguration der Synchronisation ist der Replikations-Manager erforderlich, und zum Überwachen des Status bei indirekten Synchronisationen und Internetsynchronisationen sollte Replman (Replication Manager, Replikations-Manager) verwendet werden. Er ist nur in Microsoft Office 2000 Developer Edition verfügbar. Weitere Informationen zum Replikations-Manager finden Sie unter "Microsoft Replikations-Manager" in der Hilfe von Microsoft Access.


Jet- und Replikationseigenschaften

JRO-Eigenschaften - Zusammenfassung

Eigenschaft | Beschreibung
ActiveConnection | Gibt das Connection-Objekt an, zu dem das Replica-Objekt gehört.
ConflictFunction | Gibt den Namen der benutzerdefinierten Konfliktlösungsfunktion an, die beim Beheben von Konflikten während der Synchronisation verwendet werden soll.
ConflictTables | Gibt ein Recordset an, das eine Auflistung mit Tabellen und verbundenen Konflikttabellen enthält.
Count | Gibt die Anzahl der Objekte in einer Auflistung an.
DesignMasterId | Legt den Designmaster in einer Replikatgruppe eindeutig fest.
FilterCriteria | Gibt die Kriterien für einen Datensatz an, um von einem vollständigen Replikat repliziert zu werden.
FilterType | Gibt den Filtertyp an.
Item | Gibt ein bestimmtes Element einer Auflistung nach Namen oder Ordinalzahl geordnet zurück.
Priority | Gibt die relative Priorität des Replikats zur Verwendung während der Konfliktlösung an.
ReplicaId | Legt ein Datenbankreplikat eindeutig fest.
ReplicaType | Gibt den Replikationstyp an.
RetentionPeriod | Gibt an, wie viele Tage die Replikationschronologien aufbewahrt werden sollen.
TableName | Gibt den Tabellennamen an, auf den der Filter angewendet wird.
Visibility | Gibt die Sichtbarmachung des Replikats an: Global, Lokal oder Anonym.


ActiveConnection-Eigenschaft (JRO)

ActiveConnection-Eigenschaft

Gibt das Connection-Objekt an, zu dem das Replica-Objekt gehört.

Einstellungen und Rückgabewerte

Legt einen Wert vom Datentyp String fest, der die Definition für eine Verbindung bzw. ein geöffnetes Connection-Objekt enthält, oder gibt diesen Wert zurück.

Hinweise

Der Standardwert ist Null.

Ist die ActiveConnection-Eigenschaft nicht festgelegt, werden alle verbundenen Objekte von der Datenquelle getrennt.


ConflictFunction-Eigenschaft (JRO)

ConflictFunction-Eigenschaft

Gibt den Namen der benutzerdefinierten Konfliktlösungsfunktion an, die beim Beheben von Konflikten während der Synchronisation verwendet werden soll.

Einstellungen und Rückgabewerte

Legt einen Wert vom Datentyp String fest, der dem Namen einer benutzerdefinierten Funktion entspricht, oder gibt ihn zurück. Der Wert vom Datentyp String darf nicht länger als 256 Zeichen sein. Der Standardwert ist eine leere Zeichenfolge ("").

Hinweise

Die ConflictFunction-Eigenschaft ermöglicht Ihnen die Verwendung von benutzerdefiniertem Code zur Konfliktlösung, um während der Synchronisation Datenkonflikte zwischen Replikaten zu beheben, oder das Festlegen eines Replikats in der Gruppe, um die integrierte Konfliktlösungsfunktion anzuzeigen. Legen Sie die ConflictFunction-Eigenschaft auf eine Textzeichenfolge fest, d. h. auf den Namen der aufzurufenden Funktion. Achten Sie darauf, dass es sich bei der Einstellung um den Namen einer Function-Prozedur handeln muss; den Namen einer Sub-Prozedur können Sie nicht verwenden. Wurde diese Eigenschaft nicht festgelegt, ruft Microsoft Access die integrierte Konfliktlösungsfunktion auf.

Konflikte treten auf, wenn derselbe Datensatz in einer replizierten Datenbank in einem Replikat oder mehreren Replikaten geändert wurde (oder in derselben Spalte in demselben Datensatz, wenn für die Datenbank die Verfolgung auf Spaltenebene aktiviert wurde). Für gewöhnlich ruft Microsoft Access die integrierte Konfliktlösungsfunktion auf, um diese Konflikte zu beheben. Der zugehörige Assistent stellt dem Benutzer die einzelnen Konflikte dar, so dass dieser manuell bestimmen muss, welcher geänderte Datensatz die korrekten Daten enthält. Sie können ein Replikat in der Replikatgruppe bestimmen, um Konflikte mit der integrierten Konfliktlösungsfunktion anzuzeigen, indem Sie die ConflictFunction-Eigenschaft mit der ReplicaId (Globally Unique Identifier, GUID) dieses Replikats gleichsetzen.

Wenn Sie für Ihre Anwendung eine automatisierte Konfliktlösung bevorzugen, können Sie benutzerdefinierte Prozeduren schreiben, um Konflikte zu lösen, und dann die integrierte Funktionalität außer Kraft setzen, indem Sie die ConflictFunction-Eigenschaft festlegen. Erstellen Sie eine einzelne Funktion, die als Einsprungpunkt in Ihrem Konfliktlösungscode fungiert, und legen Sie dann die ConflictFunction-Eigenschaft auf den Namen der Funktion fest.

Diese Eigenschaft kann nur gelesen oder festgelegt werden, wenn die Datenbank replizierbar ist. Ist die ReplicaType-Eigenschaft jedoch auf jrRepTypeNotReplicable gesetzt, und versucht der Benutzer, diese Eigenschaft zu lesen oder festzulegen, tritt ein Fehler auf. Darüber hinaus tritt auch ein Fehler auf, wenn es sich bei ReplicaType um jrRepTypeDesignMaster handelt.


ConflictTables-Eigenschaft (JRO)

ConflictTables-Eigenschaft

Gibt ein Recordset an, das eine Auflistung mit Tabellen und verbundenen Konflikttabellen enthält.

Rückgabewerte

Gibt ein Recordset zurück, das zwei Spalten aufweist: TableName und ConflictTableName für die einzelnen Tabellen, bei denen Konflikte während der Synchronisation zweier Replikate auftraten. Die ConflictTables-Eigenschaft ist schreibgeschützt.

Hinweise

Diese Eigenschaft kann nur gelesen werden, wenn die Datenbank replizierbar ist. Ist die ReplicaType-Eigenschaft jedoch auf jrRepTypeNotReplicable gesetzt, und versucht der Benutzer, diese Eigenschaft zu lesen oder festzulegen, tritt ein Fehler auf.


Count-Eigenschaft (JRO)

Count-Eigenschaft

Gibt die Anzahl der Objekte in einer Auflistung an.

Rückgabewert

Gibt einen Wert vom Datentyp Long zurück.

Hinweise

Verwenden Sie die Count-Eigenschaft, um zu bestimmen, wie viele Objekte in einer gegebenen Auflistung vorhanden sind.

Da das Aufzählen der Elemente in einer Auflistung mit Null beginnt, sollten Sie stets Schleifen programmieren, die mit dem Nullelement beginnen und mit dem Wert der Count-Eigenschaft minus 1 enden. Wenn beim Verwenden von Microsoft® Visual Basic® ohne Prüfen der Count-Eigenschaft ein Schleifendurchlauf durch die Elemente einer Auflistung durchgeführt werden soll, verwenden Sie den For Each...Next-Befehl.

Ist die Count-Eigenschaft Null, enthält die Auflistung keine Objekte.


DesignMasterId-Eigenschaft (JRO)

DesignMasterId-Eigenschaft

Legt den Designmaster in einer Replikatgruppe eindeutig fest.

Einstellungen und Rückgabewerte

Legt einen Wert vom Datentyp Variant fest, der den Designmaster in einer Replikatgruppe (einer GUID) eindeutig identifiziert, oder gibt ihn zurück. Diese Eigenschaft wird beim Erstellen des Designmasters automatisch festgelegt. Der Standardwert ist eine leere Zeichenfolge ("").

Hinweise

Ein Designmaster kann eines seiner Replikate als neuen Designmaster bestimmen. Ein Replikat kann sich zwar selbst als neuen Designmaster bestimmen, jedoch kann es sich nicht als unterschiedliches Replikat zum Designmaster festlegen.

Unter bestimmten Umständen, beispielsweise, wenn der Designmaster gelöscht oder beschädigt wurde, können Sie diese Eigenschaft beim aktuellen Replikat festlegen. Ist in der Replikatgruppe bereits ein Designmaster vorhanden, kann das Festlegen dieser Eigenschaft bei einem Replikat jedoch zu einer Partition in zwei nicht mehr miteinander kombinierbare Gruppen führen, so dass eine weitere Datensynchronisation unmöglich wird.

Diese Eigenschaft kann nur gelesen werden, wenn die Datenbank replizierbar ist. Ist die ReplicaType-Eigenschaft jedoch auf jrRepTypeNotReplicable gesetzt, und versucht der Benutzer, diese Eigenschaft zu lesen oder festzulegen, tritt ein Fehler auf.


FilterCriteria-Eigenschaft (JRO)

FilterCriteria-Eigenschaft

Gibt die Kriterien für einen Datensatz an, um von einem vollständigen Replikat repliziert zu werden.

Einstellungen und Rückgabewerte

Legt einen Wert vom Datentyp String fest oder gibt einen solchen zurück. Bei Filtern, die auf einer Tabelle basieren, sollte die Zeichenfolge eine WHERE-Klausel von SQL ohne das WHERE-Schlüsselwort darstellen. Bei Filtern, die auf Beziehungen basieren, enthält die Zeichenfolge den Namen der Beziehung. Die FilterCriteria-Eigenschaft ist schreibgeschützt, nachdem sie festgelegt wurde; sie kann nur durch Verwenden der Append-Methode festgelegt werden.

Hinweise

Der Standardwert ist eine leere Zeichenfolge ("").


FilterType-Eigenschaft (JRO)

FilterType-Eigenschaft

Gibt den Filtertyp an.

Einstellungen und Rückgabewerte

Legt einen Wert vom Datentyp Enum fest oder gibt ihn zurück. Die folgenden Konstanten stellen gültige Werte für die FilterType-Eigenschaft dar: Die FilterType-Eigenschaft ist schreibgeschützt, nachdem sie festgelegt wurde; sie kann nur durch Verwenden der Append-Methode festgelegt werden.

Konstante | Beschreibung
JrFilterTypeTable | Standard. Der Filter basiert auf einer Tabelle.
JrFilterTypeRelationship | Der Filter basiert auf einer Beziehung.


Item-Eigenschaft (JRO)

Item-Eigenschaft

Gibt ein bestimmtes Element einer Auflistung nach Namen oder Ordinalzahl geordnet zurück.

Syntax

Set object = collection.Item ( Index )

Rückgabewert

Gibt einen Verweis auf ein Objekt zurück.

Parameter

Index Ein Wert vom Datentyp Variant, der entweder den Namen oder die Ordinalzahl eines Objekts in einer Auflistung ergibt.

Hinweise

Verwenden Sie die Item-Methode, um ein bestimmtes Objekt in einer Auflistung zurückzugeben. Wenn die Eigenschaft kein Objekt in der Auflistung finden kann, das dem Index-Argument entspricht, tritt ein Fehler auf. Einige Auflistungen unterstützen benannte Objekte nicht. Für diese Auflistungen müssen Sie Verweise auf Ordinalzahlen verwenden.

Die Item-Eigenschaft ist die Standardeigenschaft für alle Auflistungen. Daher sind die folgenden Syntaxformen austauschbar:

collection.Item (Index)

collection (Index)


Priority-Eigenschaft (JRO)

Priority-Eigenschaft

Gibt die relative Priorität des Replikats zur Verwendung während der Konfliktlösung an.

Rückgabewerte

Gibt einen Wert vom Datentyp Long zwischen 0 und 100 zurück, der die Priorität angibt. Die Priority-Eigenschaft ist schreibgeschützt.

Hinweise

Der folgende Algorithmus wird zum Auflösen von Konflikten verwendet:

  • Das Replikat mit der höchsten Priorität wird ausgewählt.

  • Sind die Prioritäten gleich, wird das Replikat mit der niedrigsten ReplicaId ausgewählt.

In früheren Versionen basierte der Konfliktlösungsalgorithmus auf dem Replikat mit den meisten Änderungen in der Zeile und danach auf der weiter oben beschriebenen zweiten Regel. Zur Gewährleistung der Kompatibilität bei der Konvertierung älterer Datenbanken wird die Priorität für sämtliche Replikate auf 90 gesetzt.

Bei globalen Replikaten beträgt die Standardpriorität 90 Prozent der Priorität des übergeordneten Replikats. Die gültigen Werte für ein globales Replikat können möglicherweise auch weiter eingeschränkt sein. Handelt es sich beim Benutzer um den Datenbankadministrator, dann ist der gesamte Bereich gültig. Andernfalls beträgt der Höchstwert der Priorität 90 Prozent der Priorität des übergeordneten Replikats. Bei lokalen und anonymen Replikaten beträgt der Wert stets 0 und kann nicht verändert werden. Dieser Wert wird beim Erstellen des Replikats festgesetzt; jeder davon abweichende Wert wird ignoriert.

Diese Eigenschaft kann nur gelesen werden, wenn die Datenbank replizierbar ist. Ist die ReplicaType-Eigenschaft jedoch auf jrRepTypeNotReplicable gesetzt, und versucht der Benutzer, diese Eigenschaft zu lesen, tritt ein Fehler auf.


ReplicaId-Eigenschaft (JRO)

ReplicaId-Eigenschaft

Legt ein Datenbankreplikat eindeutig fest.

Rückgabewerte

Gibt einen Wert vom Datentyp Variant zurück, der ein Datenbankreplikat (ein Globally Unique Identifier, GUID) eindeutig festlegt. Diese Eigenschaft wird beim Erstellen des Replikats automatisch erzeugt. Die ReplicaId-Eigenschaft ist schreibgeschützt.

Diese Eigenschaft kann nur gelesen werden, wenn die Datenbank replizierbar ist. Ist die ReplicaType-Eigenschaft jedoch auf jrRepTypeNotReplicable gesetzt, und versucht der Benutzer, diese Eigenschaft zu lesen oder festzulegen, tritt ein Fehler auf.


ReplicaType-Eigenschaft (JRO)

ReplicaType-Eigenschaft

Gibt den Replikationstyp an.

Rückgabewerte

Gibt einen Wert vom Datentyp Enum zurück, bei dem es sich um eine der folgenden Konstanten handeln kann:

Konstante | Beschreibung
jrRepTypeNotReplicable | Standard. Die Datenbank ist nicht replizierbar.
jrRepTypeDesignMaster | Das Replikat ist ein Designmaster.
jrRepTypeFull | Das Replikat ist ein vollständiges Replikat.
jrRepTypePartial | Das Replikat ist ein Teilreplikat.

Die ReplicaType-Eigenschaft ist schreibgeschützt.

Hinweise

Die ReplicaType-Eigenschaft dient der Bestimmung, ob eine Datenbank replizierbar ist und, wenn ja, um welchen Replikattyp es sich handelt. Ist ReplicaType jedoch jrRepTypeNotReplicable, ist die Datenbank noch nicht dafür ausgelegt, repliziert werden zu können. Verwenden Sie den ReplicaType-Parameter der CreateReplica-Methode, um ein neues, vollständiges Replikat oder ein Teilreplikat zu erstellen.


RetentionPeriod-Eigenschaft (JRO)

RetentionPeriod-Eigenschaft

Gibt an, wie viele Tage die Replikationschronologien aufbewahrt werden sollen.

Einstellungen und Rückgabewerte

Legt einen Wert vom Datentyp Integer zwischen 5 und 32.000 fest, der die Anzahl der Tage darstellt, oder gibt ihn zurück.

Hinweise

Die RetentionPeriod-Eigenschaft gibt die Zeit in Tagen an, die eine Replikatgruppe Details gelöschter Datensätze, Schemaänderungen sowie andere systemspezifische Informationen behält. Ist die Datenbank mit ADO, RDO oder Replication Manager replizierbar, ist der Standardwert 60.

Ist die Datenbank mit Access replizierbar, ist der Standardwert 1000.

Diese Eigenschaft kann nur auf einem Designmaster festgelegt werden. Ist die ReplicaType-Eigenschaft nicht auf jrTypeDesignMaster gesetzt, tritt ein Fehler auf.


TableName-Eigenschaft (JRO)

TableName-Eigenschaft

Gibt den Tabellennamen an, auf den der Filter angewendet wird.

Einstellungen und Rückgabewerte

Legt einen Wert vom Datentyp String fest, der den Namen der Tabelle angibt, oder gibt ihn zurück. Bei Filtern, die auf einer Beziehung basieren, handelt es sich bei dieser Tabelle um die n-Seite der Beziehung. Die TableName-Eigenschaft ist schreibgeschützt, nachdem sie festgelegt wurde; sie kann nur durch Verwenden der Append-Methode festgelegt werden.

Hinweise

Der Standardwert ist eine leere Zeichenfolge ("").


Visibility-Eigenschaft (JRO)

Visibility-Eigenschaft

Gibt die Sichtbarmachung des Replikats an: Global, Lokal oder Anonym.

Rückgabewerte

Gibt einen Wert vom Datentyp Enum zurück, der die Sichtbarmachung des Replikats innerhalb der Replikatgruppe angibt. Dies kann eine der folgenden Konstanten sein:

Konstante | Beschreibung
jrRepVisibilityGlobal | Standard. Das Replikat ist global.
jrRepVisibilityLocal | Das Replikat ist lokal.
jrRepVisibilityAnon | Das Replikat ist anonym.

Die Visibility-Eigenschaft ist schreibgeschützt.

Hinweise

Bei einem globalen Replikat handelt es sich um das typische Replikat, von dem Sie alle anderen Replikattypen erstellen können. Durch ein globales Replikat durchgeführte Änderungen werden vollständig verfolgt und können mit anderen globalen Replikaten in der Gruppe ausgetauscht werden. Das globale Replikat kann darüber hinaus auch mit anderen lokalen oder anonymen Replikaten Änderungen austauschen, für die es dann als Zentrum fungiert.

Anmerkung Der Designmaster ist ein globales Replikat.

Lokale und anonyme Replikate synchronisieren nur mit ihrem Zentrum, einem globalen Replikat. Es ist ihnen nicht möglich, eine Synchronisation mit anderen Replikaten in der Replikatgruppe durchzuführen. Sämtliche lokalen und anonymen Replikate haben stets die Priorität 0, so dass die Änderungen daher bei einer Konfliktlösung nicht automatisch gewählt werden, wenn bei Änderungen Konflikte mit dem globalen Zentrumsreplikat auftreten. Wenn sie eine Änderung ohne Konflikte an das Zentrum übertragen, setzt das Zentrum die Urheberschaft der Änderung voraus.

Das Zentrumsreplikat allein hat Kenntnisse über die lokalen Replikate, und nur dieses kann einen Austausch zu einem lokalen Replikat zeitlich planen.

Replikate verfügen über keine Kenntnisse zu anonymen Replikaten (auch das Zentrumsreplikat nicht). Das Zentrumsreplikat kann keinen Austausch zu anonymen Replikaten planen. Für die Verwendung im Internet wird jedoch der Einsatz von anonymen Replikaten für Massenverteilungen empfohlen, da systemverfolgbare Informationen nicht beibehalten werden und die Replikatgröße verringert wird.

Die Sichtbarmachung kann nicht geändert werden, nachdem das Replikat mit der CreateReplica-Methode erstellt wurde.

Diese Eigenschaft kann nur gelesen werden, wenn die Datenbank replizierbar ist. Ist die ReplicaType-Eigenschaft jedoch nicht jrRepTypeNotReplicable, und versucht der Benutzer, diese Eigenschaft zu lesen, tritt ein Fehler auf.


Jet und Replikation - Beispiele

In diesen Themen erfahren Sie, wie Sie die folgenden JRO-Methoden einsetzen können.

Anmerkung Fügen Sie das gesamte Codebeispiel, von Sub bis End Sub, in den Code-Editor ein. Wenn Sie nur Teile der Beispiele verwenden oder die Absatzformatierung verloren geht, wird das Beispiel möglicherweise nicht ordnungsgemäß ausgeführt.

Das Beispiel zur Append-Methode zeigt, wie ein neuer Filter an eine Tabelle angehängt wird.

Das Beispiel zur CompactDatabase-Methode zeigt, wie eine Datenbank mit der CompactDatabase-Methode komprimiert und verschlüsselt wird.

Das Beispiel zur CreateReplica-Methode zeigt, wie mit der CreateReplica-Methode ein vollständiges Replikat erstellt wird.

Das Beispiel zur MakeReplicable-Methode zeigt, wie mit der MakeReplicable-Methode ein Designmaster erstellt wird.

Das Beispiel zur PopulatePartial-Methode zeigt, wie mit der PopulatePartial-Methode ein Replikat aktualisiert wird.

Das Beispiel zur RefreshCache-Methode demonstriert die RefreshCache-Methode.

Das Beispiel zur Synchronize-Methode zeigen, wie Änderungen zwischen einem Designmaster und einem Replikat mit der Synchronize-Methode aktualisiert werden, und wie die Synchronize-Methode zur Internetsynchronisation und zur indirekten Synchronisation verwendet wird.


Beispiel zur Append-Methode (JRO)

Beispiel zur Append-Methode

Dieses Beispiel zeigt, wie ein neuer Filter an eine Tabelle angehängt wird.

Public Sub AppendFilter()

    Dim flt As JRO.Filter
    Dim rep As New JRO.Replica

    ' Verbindung zu vorhandenem partiellem Replikat herstellen.
    rep.ActiveConnection = "C:\Programme\" & _
        "Microsoft Office\Office\Samples\Partial of Northwind.mdb"

    ' Partiellen Filter an Tabelle anhängen.
    rep.Filters.Append "Customers", jrFilterTypeTable, "Region='CA'"
    Set flt = rep.Filters.Item(1)

    ' Informationen drucken.
    Debug.Print flt.FilterCriteria
    Debug.Print flt.FilterType
    Debug.Print flt.TableName

End Sub


Beispiel zur CompactDatabase-Methode (JRO)

Beispiel zur CompactDatabase-Methode

Dieses Beispiel zeigt, wie eine Datenbank mit der CompactDatabase-Methode komprimiert und verschlüsselt wird.

Public Sub CompactAndEncrypt()

    Dim je As New JRO.JetEngine

    ' Sicherstellen, dass keine Datei mit dem Namen der komprimierten
    ' Datenbank vorhanden ist.
    If Dir("C:\Programme\Microsoft Office\" & _
        "Office\Samples\Northwind2.mdb") <> "" Then Kill _
        "C:\Programme\Microsoft Office\Office\Samples\Northwind2.mdb"

    ' Komprimieren und Verschlüsseln der Northwind-Versionsdatenbank.
    je.CompactDatabase _
    "Provider=Microsoft.Jet.OLEDB.4.0;" & _
        "Data Source=C:\Programme\Microsoft Office\" & _
        "Office\Samples\Northwind.mdb", _
    "Provider=Microsoft.Jet.OLEDB.4.0;" & _
        "Data Source=C:\Programme\Microsoft Office\" & _
        "Office\Samples\Northwind2.mdb;" & _
    "Jet OLEDB:Encrypt Database=True"

End Sub


Beispiel zur CreateReplica-Methode (JRO)

Beispiel zur CreateReplica-Methode

Dieses Beispiel zeigt, wie mit der CreateReplica-Methode ein vollständiges Replikat erstellt wird.

Public Sub CreateRep()

    Dim repMaster As New JRO.Replica

    ' Verbindung mit der Northwind-Datenbank herstellen.
    repMaster.ActiveConnection = "C:\Programme\Microsoft Office\" & _
        "Office\Samples\Northwind.mdb"

    ' myTestRep löschen, wenn vorhanden.
    If (Dir("C:\Programme\Microsoft Office\" & _
        "Office\Samples\myTestRep.mdb") <> "") Then Kill _
        ("C:\Programme\Microsoft Office\Office\Samples\" & _
        "Replica of Northwind.mdb")

    ' Vollständiges Replikat erstellen.
    repMaster.CreateReplica "C:\Programme\Microsoft Office\" & _
        "Office\Samples\Replica of Northwind.mdb", "My Full Replica1", _
        jrRepTypeFull, jrRepVisibilityGlobal

End Sub


Beispiel zur MakeReplicable-Methode (JRO)

Beispiel zur MakeReplicable-Methode

Dieses Beispiel zeigt, wie mit der MakeReplicable-Methode ein Designmaster erstellt wird.

Public Sub MakeRep()

' Dieses Codebeispiel zeigt, wie MakeReplicable verwendet wird,
' indem der Parameter ConnectionString angegeben wird.
' ANMERKUNG: Diese Verbindungszeichenfolge muss den exklusiven
' Verbindungsmodus nicht explizit angeben, dies erfolgt in JRO
' automatisch.

    Dim repDM As New JRO.Replica
    ' Replizierbarkeit von Northwind.mdb mit Protokollierung auf
    ' Datensatzebene ermöglichen.
    repDM.MakeReplicable "C:\Programme\Microsoft Office\" & _
        "Office\Samples\Northwind.mdb", False

End Sub


Beispiel zur PopulatePartial-Methode (JRO)

Beispiel zur PopulatePartial-Methode

Dieses Beispiel zeigt, wie mit der PopulatePartial-Methode ein Replikat aktualisiert wird.

Public Sub PartialRep()

' Dieser Code zeigt, wie ein partielles Replikat mit einem
' Beziehungsfilter und einem Tabellenfilter erstellt wird.
' ANMERKUNG: PopulatePartial erfordert eine exklusive Verbindung.

    Dim repMaster As New JRO.Replica
    Dim repPartial As New JRO.Replica
    Dim flt As JRO.Filter
    repMaster.ActiveConnection = _
        "C:\Programme\Microsoft Office\Office\Samples\Northwind.mdb"

    If (Dir("C:\Programme\" & _
        "Microsoft Office\Office\Samples\" & _
        "Partial of Northwind.mdb") <> "") Then Kill _
        ("C:\Programme\Microsoft Office\" & _
        "Office\Samples\Partial of Northwind.mdb")

    ' Northwind.mdb ist bereits replizierbar; Sie können Replikate
    ' daraus erstellen.
    repMaster.CreateReplica "C:\Programme\Microsoft Office\" & _
        "Office\Samples\Partial of Northwind.mdb", _
        "Partial Replica of Northwind", jrRepTypePartial

    Set repMaster = Nothing

    ' PopulatePartial erfordert eine exklusive Verbindung mit der
    ' Datenbank.
    repPartial.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
        "Data Source=C:\Programme\Microsoft Office\" & _
        "Office\Samples\Partial of Northwind.mdb;" & _
        "Mode=Share Exclusive"

    repPartial.Filters.Append "Orders", jrFilterTypeRelationship, _
        "CustomersOrders"

    repPartial.Filters.Append "Customers", jrFilterTypeTable, _
        "CustomerID"
    repPartial.PopulatePartial "C:\Programme\" & _
        "Microsoft Office\Office\Samples\Northwind.mdb"

End Sub


Beispiel zur RefreshCache-Methode (JRO)

Beispiel zur RefreshCache-Methode

Dieses Beispiel demonstriert die RefreshCache-Methode.

Public Sub RefCache()

    Dim lateje As JRO.JetEngine
    Dim conn As New ADODB.Connection
    Dim conn2 As New ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim fld As ADODB.Field

    ' Öffnen beider Verbindungen mit der Datenbank.
    conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
        "Data source=C:\Programme\Microsoft Office\" & _
        "Office\Samples\Northwind.mdb;"
    conn2.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
        "Data source=C:\Programme\Microsoft Office\" & _
        "Office\Samples\Northwind.mdb;"

    Set lateje = CreateObject("JRO.JetEngine")

On Error Resume Next
    conn.Execute "drop table tab1"
On Error GoTo 0

    ' Erstellen der Tabelle und Eingeben neuer Werte für Spalten.
    conn.Execute "create table tab1 ( col1 int)"
    conn.Execute "insert into tab1 values (1)"
    conn.Execute "insert into tab1 values (2)"

    ' Übernehmen der Daten, damit die Änderungen aus conn1 für
    ' conn2 sichtbar sind.
    lateje.RefreshCache conn2
    Set rs = conn2.Execute("select * from tab1")
    Set fld = rs.Fields(0)
    Debug.Print "Record 1: " & fld.Name & " = " & Str(fld.Value)

    conn.Close
    conn2.Close
    Set lateje = Nothing

End Sub


Beispiel zur Synchronize-Methode (JRO)

Beispiel zur Synchronize-Methode

Die folgenden drei Beispiele demonstrieren die Synchronize-Methode. Dieses Beispiel zeigt, wie Änderungen zwischen einem Designmaster und einem Replikat mit der Synchronize-Methode aktualisiert werden.

Public Sub DirectSync()

    Dim repMaster As New JRO.Replica
    Dim RepNorthwind As New JRO.Replica
    Dim conn As New ADODB.Connection

    ' Öffnen der Datenbank.
    conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
        "Data source=C:\Programme\Microsoft Office\" & _
        "Office\Samples\Northwind.mdb;"

    ' Wenn ein Replikat der Datenbank vorhanden ist, wird es gelöscht.
    repMaster.ActiveConnection = conn
    ' "C:\Programme\Microsoft Office\Office\Samples\Northwind.mdb"
    If (Dir("C:\Programme\Microsoft Office\" & _
        "Office\Samples\Replica of Northwind.mdb") <> "") Then Kill _
        ("C:\Programme\Microsoft Office\" & _
        "Office\Samples\Replica of Northwind.mdb")

    ' Erstellen eines neuen Replikats der Datenbank.
    repMaster.CreateReplica "C:\Programme\Microsoft Office\" & _
        "Office\Samples\Replica of Northwind.mdb", _
        "Replica1 for Northwind.mdb", _
        jrRepTypeFull, jrRepVisibilityGlobal

    ' Einfügen neuer Werte in tab1.
On Error Resume Next
    conn.Execute "drop table tab1"
On Error GoTo 0
    conn.Execute "create table tab1 ( col1 int)"
    conn.Execute "insert into tab1 values (1)"
    conn.Execute "insert into tab1 values (2)"

    ' Synchronisieren der Werte.
    repMaster.Synchronize "C:\Programme\Microsoft Office\" & _
        "Office\Samples\Replica of Northwind.mdb", jrSyncTypeImpExp, _
        jrSyncModeDirect

End Sub

Dieses Beispiel zeigt, wie die Synchronize-Methode zur Internetsynchronisation verwendet wird. Beachten Sie, dass vor der Synchronisation das Internetreplikationssetup abgeschlossen sein muss.

Public Sub InternetSync()

    Dim rep As New JRO.Replica

' Dies ist das Replikat auf dem lokalen Computer.
    rep.ActiveConnection = "C:\Programme\Microsoft Office\" & _
        "Office\Samples\Northwind.mdb"

' Der Name des Internetservers lautet "my_server"; er ist
' für Internetreplikation konfiguriert.
    rep.Synchronize "http://MY_SERVER", jrSyncTypeImpExp, _
        jrSyncModeInternet

    Set rep = Nothing
End Sub

Dieses Beispiel zeigt, wie die Synchronize-Methode zur indirekten Synchronisation verwendet wird.

Public Sub IndirectSync()

    Dim repMaster As New JRO.Replica

    repMaster.ActiveConnection = "C:Program Files\" & _
        "Microsoft Office\Office\Samples\Northwind.mdb"

    ' Der Synchronizer, der das Replikat verwaltet, heißt
    ' SynchronizerName; es ist der Synchronizer, mit dem Sie
    ' Daten austauschen.
    repMaster.Synchronize "SynchronizeName", jrSyncTypeImpExp, _
        jrSyncModeIndirect

End Sub