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 » SQL Anywhere-Clients für MobiLink » Ereignis-Hooks für SQL Anywhere-Clients

 

sp_hook_dbmlsync_schema_upgrade

Verwenden Sie diese gespeicherte Prozedur, um ein SQL-Skript auszuführen, mit dem Sie Ihr Schema aktualisieren.

Zeilen in der Tabelle #hook_dict

Name

Wert

Beschreibung

publication_n (in)

Publikation

Die synchronisierten Publikationen, wobei n eine Ganzzahl ist. Es gibt einen publication_n-Eintrag für jede Publikation im Upload. Die Nummerierung von n beginnt bei Null.

MobiLink user (in)

MobiLink-Benutzername

Der MobiLink-Benutzer, für den Sie synchronisieren

script version (in)

Skriptversionsname

Die Version des für die Synchronisation verwendeten Skripts.

drop hook (out)

never | always | on success

Die Werte können sein:

never - (Standard) sp_hook_dbmlsync_schema_upgrade-Hook nicht aus der Datenbank löschen

always - Nach dem Versuch, den Hook auszuführen, sp_hook_dbmlsync_schema_upgrade-Hook aus der Datenbank löschen

on success - Wenn der Hook erfolgreich abläuft, sp_hook_dbmlsync_schema_upgrade-Hook aus der Datenbank löschen. "On success" ist mit "always" identisch, wenn die dbmlsync-Option -eh verwendet wird oder die erweiterte dbmlsync-Option IgnoreHookErrors auf TRUE gesetzt ist.

Bemerkungen

Diese gespeicherte Prozedur wird verwendet, um das Deployment von Schemaänderungen in verteilten entfernten Datenbanken durchzuführen. Wenn Sie diesen Hook für Schemaänderungen verwenden, stellen Sie sicher, dass alle Änderungen in den entfernten Datenbanken synchronisiert sind, bevor die Änderung des Schemas erfolgt. Damit wird gewährleistet, dass die Datenbanken auch danach noch synchronisiert werden können. Wenn dieser Hook verwendet wird, dürfen Sie die erweiterte dbmlsync-Option LockTables nicht auf "off" (LockTables ist standardmäßig aktiviert) setzen.

Während einer Synchronisation, bei der der Upload erfolgreich übernommen und von MobiLink bestätigt wurde, wird dieser Hook nach sp_hook_dbmlsync_download_end und vor sp_hook_dbmlsync_end aufgerufen. Dieser Hook wird nicht während einer reinen Download-Synchronisation aufgerufen oder wenn ein dateibasierter Download erstellt bzw. übernommen wird.

Die in diesem Hook durchgeführten Änderungen werden sofort nach seinem Abschluss festgeschrieben.

Siehe auch
Beispiele

Das folgende Beispiel verwendet die sp_hook_dbmlsync_schema_upgrade-Prozedur, um eine Spalte in die Dealer-Tabelle in der entfernten Datenbank hinzuzufügen. Wenn das Upgrade erfolgreich ist, wird der sp_hook_dbmlsync_schema_upgrade-Hook gelöscht.

CREATE PROCEDURE sp_hook_dbmlsync_schema_upgrade()
BEGIN
 -- Upgrade the schema of the Dealer table. Add a column:
 ALTER TABLE Dealer
  ADD dealer_description VARCHAR(128);

 -- If the schema upgrade is successful, drop this hook:
 UPDATE #hook_dict
  SET value = 'on success'
  WHERE name = 'drop hook';
END;