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) » MobiLink - Clientadministration » Einführung in MobiLink-Clients » SQL Passthrough » Einführung in SQL Passthrough » Skripten ausführen

 

Skript auf einem SQL Anywhere-Client manuell ausführen

Jedes Skript kann manuell ausgeführt werden. Bei SQL Anywhere-Clients werden Skripten mit Hilfe der Funktionen sync_get_next_passthrough_script und sync_execute_next_passthrough_script manuell ausgeführt.

Die Funktion sync_get_next_passthrough_script übernimmt keine Parameter und gibt die Ausführungsreihenfolge (run_order) des nächsten auszuführenden Skripts zurück. Weitere Hinweise zu diesem Skript erhalten Sie, indem Sie die Tabelle dbo.sync_passthrough_script abfragen.

dbo.sync_passthrough_script-Tabelle

Die Tabelle dbo.sync_passthrough_script ist wie folgt definiert:

Spaltenname Beschreibung
run_order

INTEGER. Der Parameter run_order legt die Reihenfolge fest, in der Skripten in der entfernten Datenbank angewendet werden. Skripten werden immer in der von run_order festgelegten Reihenfolge ausgeführt.

Dieser Wert muss ein nicht-negativer Ganzzahlwert sein.

script_id

INTEGER. Dieser Wert identifiziert das Skript eindeutig.

script_name

VARCHAR(128). Der Name des Skripts. Diese Spalte entspricht dem script_name-Wert, der für das Skript beim Aufruf von ml_add_passthrough_script in der konsolidierten Datenbank festgelegt wurde.

flags

BIGINT. Die Spalte flags enthält die Informationen, die im flags-Parameter enthalten waren, der an die gespeicherte Prozedur ml_add_passthrough_script übergeben wurde. Die angegebenen Flags werden in einer Ganzzahl kodiert, indem jedes angegebene Flag in den unten angegebenen Wert konvertiert wird. Die sich ergebenden Werte werden mit OR-Operatoren kombiniert.

  • manual   Das Skript kann nur im manuellen Ausführungsmodus ausgeführt werden. Standardmäßig können alle Skripten im automatischen oder manuellen Ausführungsmodus ausgeführt werden.

  • exclusive   Das Skript kann nur automatisch am Ende einer Synchronisation ausgeführt werden, wenn für alle synchronisierten Tabellen exklusive Sperren vorliegen. Diese Option wird ignoriert, wenn in der Spalte affected_ pubs keine Publikationen aufgelistet werden. Diese Option gilt nur für entfernte SQL Anywhere-Datenbanken.

  • schema_diff   Das Skript wird im Schemavergleichsmodus ausgeführt. In diesem Modus wird das Datenbankschema geändert, sodass es mit dem im Skript beschriebenen Schema übereinstimmt. Eine CREATE-Anweisung für eine vorhandene Tabelle wird z.B. als ALTER-Anweisung behandelt. Dieser Parameter gilt nur für entfernte UltraLite-Datenbanken.

affected_pubs

LONG VARCHAR. Eine Liste von Publikationen, die vor der Ausführung des Skripts synchronisiert werden müssen. Diese Spalte entspricht dem Wert affected_pubs, der beim Aufruf von ml_add_passthrough_script für das Skript angegeben wurde.

script

LONG VARCHAR. Der Inhalt des Passthrough-Skripts. Diese Spalte entspricht dem script-Wert, der beim Aufruf von ml_add_passthrough_script für das Skript angegeben wurde.

Beschreibung

VARCHAR(2000). Ein Kommentar oder eine Beschreibung des Skripts. Diese Spalte entspricht dem description-Wert, der beim Aufruf von ml_add_passthrough_script für das Skript angegeben wurde.

Die Funktion sync_get_next_passthrough_script gibt NULL zurück, wenn keine weiteren Skripten zur Ausführung anstehen oder wenn das letzte ausgeführte Skript einen Fehler generiert hat und keine Anweisungen zur weiteren Ausführung vom Server empfangen wurden.

Die Funktion sync_execute_next_passthrough_script übernimmt keine Parameter. Sie führt das nächste Skript aus und aktualisiert die Informationen über den Verarbeitungsfortschritt und den Status in der Datenbank, sodass die Ergebnisse des Skripts zu einem späteren Zeitpunkt in die konsolidierte Datenbank übertragen werden können. Wenn das letzte Skript einen Fehler zurückgegeben hat und keine Anweisungen vom MobiLink-Server zur Verarbeitung des Fehlers empfangen wurden, wird kein Skript ausgeführt. Wenn ein Skript ausgeführt wird, wird die Ausführungsreihenfolge des Skripts zurückgegeben. Wenn kein Skript ausgeführt wird, wird NULL zurückgegeben. Weitere Hinweise finden Sie unter Skriptergebnisse erfassen.