In dieser Lektion fügen Sie Daten zur konsolidierten und entfernten Datenbank hinzu, führen SQL Remote aus, um die Änderungen zu replizieren, und bestätigen anschließend, dass die Daten in beiden Datenbanken konsistent sind.
Wenn Sie derzeit nicht mit der konsolidierten Datenbank (cons) verbunden sind, führen Sie folgenden Befehl aus:
dbisql -c "SERVER=cons;DBN=cons;UID=DBA;PWD=sql" |
Führen Sie die folgenden Anweisungen in der konsolidierten Datenbank (cons) aus, um der employees-Tabelle zusätzliche Beispieldaten hinzuzufügen:
INSERT INTO employees (first_name, last_name) VALUES ('Javier', 'Spoor'); COMMIT; |
Trennen Sie die Verbindung zu Interactive SQL.
Wenn Sie derzeit nicht mit der entfernten Datenbank (rem) verbunden sind, führen Sie folgenden Befehl aus:
dbisql -c "SERVER=rem;DBN=rem;UID=DBA;PWD=sql" |
Führen Sie die folgenden Anweisungen in der entfernten Datenbank (rem) aus, um der employees-Tabelle zusätzliche Beispieldaten hinzuzufügen:
INSERT INTO employees (first_name, last_name) VALUES ('Nelson', 'Kreitzer'); COMMIT; |
Trennen Sie die Verbindung zu Interactive SQL.
Führen Sie in der konsolidierten Datenbank (cons) den Nachrichtenagenten aus:
dbremote -c "SERVER=cons;DBN=cons;UID=DBA;PWD=sql" -qc -v -o c:\tutorial\cons1.txt |
Dieser durchsucht das Transaktionslog der konsolidierten Datenbank (cons) und generiert mit dem FILE-Nachrichtensystem eine Nachricht für die entfernte Datenbank (rem). Da der Systemparameter für Fehlerbehebungsmeldungen in der konsolidierten Datenbank auf das FILE-Nachrichtensystem eingestellt wurde, können Sie die Datei c:\tutorial\cons1.txt auf Fehlerbehebungsmeldungen überprüfen, die anzeigen, dass Meldungen in das Verzeichnis c:\tutorial\messages\rem geschrieben werden. Beispiel:
I. 2011-03-25 11:03:31. Processing transactions from active transaction log I. 2011-03-25 11:03:31. Sending message to "rem" (0-0000000000-0000550994-0) I. 2011-03-25 11:03:31. sopen "c:\tutorial\messages\rem\cons.0" I. 2011-03-25 11:03:31. write " c:\tutorial\messages\rem\cons.0" I. 2011-03-25 11:03:31. close " c:\tutorial\messages\rem\cons.0" |
Führen Sie in der entfernten Datenbank (rem) den Nachrichtenagenten aus:
dbremote -c "SERVER=rem;DBN=rem;UID=DBA;PWD=sql" -qc -v -o c:\tutorial\rem.txt |
Unter Verwendung des HTTP-Nachrichtensystems wird durch diesen Befehl die soeben von der konsolidierten Datenbank generierte Nachricht empfangen und übernommen. Danach wird das Transaktionslog durchsucht und eine Nachricht mit der neuen Zeile, die in der entfernten Datenbank hinzugefügt wurde, wird an die konsolidierte Datenbank zurückgesendet. Da der Systemparameter für Fehlerbehebungsmeldungen in der konsolidierten Datenbank auf das HTTP-Nachrichtensystem eingestellt wurde, können Sie die Datei c:\tutorial\rem.txt auf Fehlerbehebungsmeldungen überprüfen, die anzeigen, dass das HTTP-Nachrichtensystem verwendet wird. Beispiel:
I. 2011-03-25 11:10:02. Sending message to "cons" (0-0000000000-0000557411-0) I. 2011-03-25 11:10:02. HTTPWriteMessage "rem.0" I. 2011-03-25 11:10:02. HTTPWriteMessage: success -- filename "rem.0" I. 2011-03-25 11:10:02. HTTPDisconnect |
Führen Sie in der konsolidierten Datenbank (cons) den Nachrichtenagenten aus:
dbremote -c "SERVER=cons;DBN=cons;UID=DBA;PWD=sql" -qc -v -o c:\tutorial\cons2.txt |
Unter Verwendung des FILE-basierten Nachrichtensystems wird durch diesen Befehl die soeben von der entfernten Datenbank generierte Nachricht empfangen und übernommen.
Wenn Sie derzeit nicht mit der konsolidierten Datenbank (cons) verbunden sind, führen Sie folgenden Befehl aus:
dbisql -c "SERVER=cons;DBN=cons;UID=DBA;PWD=sql" |
Um zu überprüfen, ob die konsolidierte Datenbank alle vier Datenzeilen enthält, können Sie die folgende Anweisung ausführen und den Inhalt der employees-Tabelle anzeigen:
SELECT * FROM employees |
Die Abfrage gibt die folgenden Daten aus der employees-Tabelle zurück, obwohl die hire_date-Spalte die Uhrzeit enthält, zu der Sie die Zeile eingefügt haben, und nicht die in der folgenden Tabelle aufgeführten Werte:
employee_id | first_name | last_name | hire_date |
---|---|---|---|
1 | Kelly | Meloy | 2011-03-25 08:27:56.310 |
2 | Melisa | Boysen | 2011-03-25 08:27:56.310 |
3 | Javier | Spoor | 2011-03-25 08:30:26.110 |
102000001 | Nelson | Kreitzer | 2011-03-25 08:31:51.970 |
Trennen Sie die Verbindung zu Interactive SQL.
Wenn Sie derzeit nicht mit der entfernten Datenbank (rem) verbunden sind, führen Sie folgenden Befehl aus:
dbisql -c "SERVER=rem;DBN=rem;UID=DBA;PWD=sql" |
Überprüfen Sie, ob die entfernte Datenbank (rem) alle vier Datenzeilen enthält, indem Sie die folgende Anweisung ausführen, um den Inhalt der employees-Tabelle anzuzeigen:
SELECT * FROM employees |
Die Abfrage gibt die folgenden Daten aus der employees-Tabelle zurück, obwohl die hire_date-Spalte die Uhrzeit enthält, zu der Sie die Zeile eingefügt haben, und nicht die in der folgenden Tabelle aufgeführten Daten:
employee_id | first_name | last_name | hire_date |
---|---|---|---|
1 | Kelly | Meloy | 2011-03-25 08:27:56.310 |
2 | Melisa | Boysen | 2011-03-25 08:27:56.310 |
3 | Javier | Spoor | 2011-03-25 08:30:26.110 |
102000001 | Nelson | Kreitzer | 2011-03-25 08:31:51.970 |
Trennen Sie die Verbindung zu Interactive SQL.
Fahren Sie fort mit Lektion 5: Aufräumen.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |