Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - Programmierung » Schnittstelle zu SQL Anywhere-Datenbanktools » Datenbanktools-Schnittstelle » DBTools-Strukturen

 

a_remote_sql-Struktur

Enthält Informationen, die für den Gebrauch des Dienstprogramms dbremote mit der DBTools-Bibliothek benötigt werden.

Syntax
typedef struct a_remote_sql {
    short               version;
    MSG_CALLBACK        confirmrtn;
    MSG_CALLBACK        errorrtn;
    MSG_CALLBACK        msgrtn;
    MSG_QUEUE_CALLBACK  msgqueuertn;
    char *              connectparms;
    char *              transaction_logs;
    a_bit_field         receive : 1;
    a_bit_field         send : 1;
    a_bit_field         verbose : 1;
    a_bit_field         deleted : 1;
    a_bit_field         apply : 1;
    a_bit_field         batch : 1;
    a_bit_field         more : 1;
    a_bit_field         triggers : 1;
    a_bit_field         debug : 1;
    a_bit_field         rename_log : 1;
    a_bit_field         latest_backup : 1;
    a_bit_field         scan_log : 1;
    a_bit_field         link_debug : 1;
    a_bit_field         full_q_scan : 1;
    a_bit_field         no_user_interaction : 1;
    a_bit_field         _unused1 : 1;
    a_sql_uint32        max_length;
    a_sql_uint32        memory;
    a_sql_uint32        frequency;
    a_sql_uint32        threads;
    a_sql_uint32        operations;
    char *              queueparms;
    char *              locale;
    a_sql_uint32        receive_delay;
    a_sql_uint32        patience_retry;
    MSG_CALLBACK        logrtn;
    a_bit_field         use_hex_offsets : 1;
    a_bit_field         use_relative_offsets : 1;
    a_bit_field         debug_page_offsets : 1;
    a_sql_uint32        debug_dump_size;
    a_sql_uint32        send_delay;
    a_sql_uint32        resend_urgency;
    char *              include_scan_range;
    SET_WINDOW_TITLE_CALLBACK set_window_title_rtn;
    char *              default_window_title;
    MSG_CALLBACK        progress_msg_rtn;
    SET_PROGRESS_CALLBACK progress_index_rtn;
    char **             argv;
    a_sql_uint32        log_size;
    char *              encryption_key;
    const char *        log_file_name;
    a_bit_field         truncate_remote_output_file:1;
    char *              remote_output_file_name;
    MSG_CALLBACK        warningrtn;
    char *              mirror_logs;
} a_remote_sql;
Mitglieder
Mitglied Beschreibung
version DBTools-Versionsnummer
confirmrtn Zeiger auf eine Funktion, die die angegebene Nachricht ausdruckt und eine Ja- oder Nein-Antwort akzeptiert. Gibt TRUE zurück, wenn ja, und FALSE, wenn nein.
errorrtn Zeiger auf eine Funktion, die die angegebene Fehlermeldung ausgibt
msgrtn Zeiger auf eine Funktion, die die angegebene informative Meldung (keine Fehlermeldung) ausgibt
msgqueuertn Zeiger auf eine Funktion, die für die an sie übergebene Dauer (Anzahl von Millisekunden) in den Ruhezustand gehen soll. Diese Funktion wird mit 0 aufgerufen, wenn DBRemoteSQL beschäftigt ist, aber der oberen Schicht gestatten will, Nachrichten zu verarbeiten. Diese Routine gibt normalerweise MSGQ_SLEEP_THROUGH zurück oder MSGQ_SHUTDOWN_REQUESTED, um die Verarbeitung durch SQL Remote zu beenden.
connectparms

Parameter für die Verbindung zur Datenbank. Entspricht der dbremote-Option -c. Sie haben die Form von Zeichenfolgen, zum Beispiel:

"UID=DBA;PWD=sql;DBF=Beispielverzeichnis\demo.db"

Der Datenbankserver würde durch den START-Parameter der Verbindungszeichenfolge gestartet. Zum Beispiel:

"START=d:\sqlany11\bin32\dbeng11.exe"

Eine vollständige Verbindungszeichenfolge mit dem START-Parameter würde wie folgt aussehen:

"UID=DBA;PWD=sql;DBF=Beispielverzeichnis\demo.db;START=d:\sqlany11\bin32\dbeng11.exe"

Eine Liste der Verbindungsparameter finden Sie unter Verbindungsparameter.

transaction_logs Zeiger auf eine Zeichenfolge, die das Verzeichnis der Offline-Transaktionslogs enthält. Entspricht dem Argument transaction_logs_directory von dbremote.
receive

Wenn receive TRUE ist, werden Nachrichten empfangen. Entspricht der dbremote-Option -r.

Wenn receive und send jeweils FALSE sind, werden beide als TRUE behandelt. Es wird empfohlen, beide auf FALSE zu setzen.

send

Wenn send TRUE ist, werden Nachrichten gesendet. Entspricht der dbremote-Option -s.

Wenn receive und send jeweils FALSE sind, werden beide als TRUE behandelt. Es wird empfohlen, beide auf FALSE zu setzen.

verbose Wenn TRUE, werden zusätzliche Informationen ausgegeben. Entspricht der dbremote-Option -v.
deleted Sollte auf TRUE gesetzt werden. Wenn FALSE, werden Nachrichten nicht gelöscht, nachdem sie übertragen wurden. Entspricht der dbremote-Option -p.
apply Sollte auf TRUE gesetzt werden. Wenn FALSE, werden Nachrichten durchsucht, aber nicht übertragen. Entspricht der dbremote-Option -a.
batch Wenn TRUE, nach der Ausgabe der Nachricht und Analyse des Logs zwingend beenden. Dasselbe wie mindestens ein Benutzer, der Sendezeit 'always' hat. Wenn FALSE, wird der Ausführungsmodus von den Sendezeiten der entfernten Benutzer bestimmt.
more Sollte auf TRUE gesetzt werden.
triggers Sollte in den meisten Fällen auf FALSE gesetzt sein. TRUE bedeutet, dass DBRemoteSQL Trigger-Aktionen repliziert. Entspricht der dbremote-Option -t.
debug Wenn TRUE, Debug-Informationen einbeziehen
rename_log Wenn TRUE, werden Logs umbenannt und neu gestartet
latest_backup Wenn TRUE, nur gesicherte Logs verarbeiten. Senden Sie keine Vorgänge aus einem Live-Log. Entspricht der dbremote-Option -u.
scan_log Reserviert. Auf FALSE gesetzt.
link_debug Wenn TRUE, wird Fehlersuche für Verknüpfungen aktiviert
full_q_scan Reserviert. Auf FALSE gesetzt.
no_user_interaction Wenn TRUE, ist keine Benutzerinteraktion erforderlich
max_length Auf die maximale Länge (in Byte) setzen, die eine Nachricht haben kann. Dies betrifft Senden und Empfangen. Der empfohlene Wert ist 50000. Entspricht der dbremote-Option -l.
memory Auf die maximale Größe (in Byte) der Speicherpuffer setzen, die beim Erstellen von zu sendenden Nachrichten verwendet werden soll. Der empfohlene Wert ist mindestens 2 * 1024 * 1024. Entspricht der dbremote-Option -m.
frequency Abrufhäufigkeit für eingehende Nachrichten festlegen. Dieser Wert sollte auf max(1, receive_delay/60) gesetzt werden. Weitere Hinweise weiter unten unter receive_delay.
threads Die Anzahl von Worker-Threads, die für das Zuweisen von Nachrichten verwendet werden sollen. Dieser Wert darf 50 nicht überschreiten. Entspricht der dbremote-Option -w.
operations Dieser Wert wird verwendet, wenn Nachrichten übernommen werden. Festschreibungen werden ignoriert, bis DBRemoteSQL mindestens diese Anzahl von nicht festgeschriebenen Vorgängen (Einfügungen, Löschungen, Aktualisierungen) hat. Entspricht der dbremote-Option -g.
queueparms Reserviert. Auf NULL gesetzt.
locale Reserviert. Auf NULL gesetzt.
receive_delay Diese Option auf die Zeitdauer (in Sekunden) setzen, die zwischen Abfragen neuer eingehender Nachrichten gewartet werden soll. Der empfohlene Wert ist 60. Entspricht der dbremote-Option -rd.
patience_retry Diese Option auf die Anzahl der Abfragen eingehender Nachrichten setzen, die DBRemoteSQL warten soll, bevor angenommen wird, dass eine erwartete Nachricht verloren gegangen ist. Wenn beispielsweise patience_retry 3 ist, versucht DBRemoteSQL bis zu drei Mal, die fehlende Nachricht zu erhalten. Anschließend wird eine Neusendeanforderung gesendet. Der empfohlene Wert ist 1. Entspricht der dbremote-Option -rp.
logrtn Zeiger auf eine Funktion, die die betreffende Nachricht in eine Logdatei schreibt. Diese Nachrichten müssen vom Benutzer nicht gesehen werden.
use_hex_offsets Auf TRUE setzen, wenn Log-Offsets in hexadezimaler Schreibweise angezeigt werden sollen. Andernfalls wird die dezimale Schreibweise verwendet.
use_relative_offsets Auf TRUE setzen, wenn Log-Offsets relativ zum Start der aktuellen Logdatei angezeigt werden sollen. Auf FALSE setzen, wenn Log-Offsets beginnend vom Anfang angezeigt werden sollen.
debug_page_offsets Reserviert. Auf FALSE gesetzt.
debug_dump_size Reserviert. Auf 0 gesetzt.
send_delay Die Zeitdauer (in Sekunden) zwischen Analysen der Logdatei bezüglich neuer zu sendender Vorgänge. Auf Null setzen, wenn DBRemoteSQL einen guten Wert basierend auf Benutzer-Sendezeiten wählen soll. Entspricht der dbremote-Option -sd.
resend_urgency Die Zeitdauer (in Sekunden) setzen, die DBRemoteSQL wartet, nachdem erkannt wurde, dass ein Benutzer einen Rescan durchführen muss, bevor das Log vollständig durchsucht werden kann. Auf Null setzen, damit DBRemoteSQL einen guten Wert basierend auf den Benutzer-Sendezeiten und anderer gesammelter Informationen wählen kann. Entspricht der dbremote-Option -ru.
include_scan_range Reserviert. Auf NULL gesetzt.
set_window_title_rtn Zeiger auf eine Funktion, die den Titel des Fensters zurücksetzt (nur Windows). Der Titel könnte "Datenbankname (Empfangen, Durchsuchen oder Senden) - Standardfenstertitel" sein.
default_window_title Ein Zeiger auf die Zeichenfolge des Standardfenstertitels
progress_msg_rtn Zeiger auf eine Funktion, die eine Fortschrittsmeldung anzeigt
progress_index_rtn Zeiger auf eine Funktion, die den Status der Fortschrittsleiste aktualisiert. Diese Funktion hat zwei ganzzahlige Argumente ohne Vorzeichen, nämlich index und max. Beim ersten Aufruf haben die Werte den Mindest- bzw. Höchstwert (z.B. 0, 100). Bei nachfolgenden Aufrufen ist das erste Argument der aktuelle Indexwert (z.B. zwischen 0 und 100) und das zweite Argument ist immer 0.
argv Zeiger auf eine syntaktisch analysierte Befehlszeile (ein Vektor von Zeigern auf Zeichenfolgen). Ist der Wert nicht NULL, ruft DBRemoteSQL eine Nachrichtenroutine auf, um die einzelnen Befehlszeilenargumente anzuzeigen, ausgenommen Argumente mit dem Präfix -c, -cq oder -ek.
log_size DBRemoteSQL benennt das Online-Transaktionslog um und startet es neu, wenn die Größe des Online-Transaktionslogs größer als dieser Wert ist. Entspricht der dbremote-Option -x.
encryption_key Zeiger auf einen Chiffrierschlüssel. Entspricht der dbremote-Option -ek.
log_file_name Zeiger auf den Namen des DBRemoteSQL-Ausgabelogs, in das die Nachrichten-Callbacks ihre Ausgabe schreiben. Wenn send TRUE ist, wird das Fehlerlog an die konsolidierte Datenbank gesendet (ausgenommen, dieser Zeiger ist NULL).
truncate_remote_output_file Auf TRUE setzen, damit die entfernte Ausgabedatei gekürzt und nichts an sie angehängt wird. Siehe unten. Entspricht der dbremote-Option -rt.
remote_output_file_name Zeiger auf den Namen der entfernten DBRemoteSQL-Ausgabedatei. Entspricht der dbremote-Option -ro oder -rt.
warningrtn Zeiger auf eine Funktion, die die angegebene Warnmeldung ausgibt. Wenn NULL, wird stattdessen die Funktion errorrtn aufgerufen.
mirror_logs Zeiger auf den Namen des Verzeichnisses, das die Offline-Spiegeltransaktionslogs enthält. Entspricht der dbremote-Option -ml.

Das dbremote-Tool legt die folgenden Standardwerte vor der Verarbeitung von Befehlszeilenoptionen fest:

Siehe auch