Verarbeitet Anweisungen am Ende des Synchronisationsprozesses.
In der folgenden Tabelle stellt die Beschreibung den SQL-Datentyp bereit. Wenn Sie Ihr Skript in Java oder .NET schreiben, müssen Sie den entsprechenden Datentyp verwenden. Siehe SQL-Java-Datentypen und SQL-.NET-Datentypen.
In SQL-Skripten können Sie Ereignisparameter mit ihrem Namen oder mit einem Fragezeichen angeben. Die Verwendung von Fragezeichen ist veraltet und es wird empfohlen, benannte Parameter zu verwenden. Sie können nicht Namen und Fragezeichen in einem Skript mischen. Wenn Sie Fragezeichen verwenden, müssen die Parameter in der unten gezeigten Reihenfolge stehen und sind nur dann optional, wenn keine nachfolgenden Parameter angegeben wurden. (Sie müssen beispielsweise Parameter 1 verwenden, wenn Sie Parameter 2 verwenden möchten.) Wenn Sie benannte Parameter verwenden, können Sie beliebige Teilmengen der Parameter in beliebiger Reihenfolge angeben.
Parametername für SQL-Skripten | Beschreibung | Reihenfolge (veraltet für SQL) |
---|---|---|
s.remote_id | VARCHAR(128). Die entfernte ID von MobiLink. Sie können die entfernte ID nur dann referenzieren, wenn Sie benannte Parameter verwenden. | Nicht anwendbar |
s.username |
VARCHAR(128). Der MobiLink-Benutzername. |
1 |
s.table |
VARCHAR(128). Der Tabellenname. |
2 |
s.synchronization_ok |
INTEGER. Die Wert ist 1 für eine erfolgreiche Synchronisation und 0 für eine nicht erfolgreiche Synchronisation. |
3 |
s.script_version | VARCHAR(128). Optionaler IN-Parameter, mit dem angegeben wird, dass der MobiLink-Server die bei der aktuellen Synchronisation verwendete Skriptversionszeichenfolge an diesen Parameter übergibt. Fragezeichen können nicht verwendet werden, um diesen Parameter anzugeben. | Nicht anwendbar |
Keine.
Der MobiLink-Server führt dieses Skript aus, nachdem eine Anwendung die Synchronisation abgeschlossen hat und dabei ist, die Verbindung zum MobiLink-Server zu trennen. Dies geschieht bevor das gleichnamige Skript der Verbindungsebene ausgeführt wird.
Sie können für jede Tabelle in der entfernten Datenbank ein end_synchronization-Skript benutzen.
Das nachstehende SQL Anywhere SQL-Skript löscht eine temporäre Tabelle, die mit dem Skript begin_synchronization erstellt wurde.
CALL ml_add_table_script( 'ver1', 'sales_order', 'end_synchronization', 'DROP TABLE #sales_order' ) |
Der folgende Aufruf einer MobiLink-Systemprozedur registriert eine Java-Methode namens endSynchronizationTable als das Skript für das Tabellenereignis end_synchronization, wenn die Skriptversion ver1 synchronisiert wird.
CALL ml_add_java_table_script( 'ver1', 'table1', 'end_synchronization', 'ExamplePackage.ExampleClass.endSynchronizationTable' ) |
Im Folgenden sehen Sie die Java-Beispielmethode endSynchronizationTable.
package ExamplePackage; import ianywhere.ml.script.*; import java.sql.*; public class ExampleClass { private DBConnectionContext _cc = null; public ExampleClass( DBConnectionContext cc ) { _cc = cc; } public void endSynchronizationTable() throws SQLException { try( Connection conn = _cc.getConnection() ) { try( PreparedStatement stmt = conn.prepareStatement( "DROP TABLE #sales_order" ) ) { stmt.executeUpdate(); } } } } |
Der folgende Aufruf einer MobiLink-Systemprozedur registriert eine .NET-Methode namens EndTableSync als das Skript für das Tabellenereignis end_synchronisation, wenn die Skriptversion ver1 und die Tabelle table1 synchronisiert werden.
CALL ml_add_dnet_table_script( 'ver1', 'table1', 'end_synchronization', 'TestScripts.Test.EndTableSync' ) |
Im Folgenden sehen Sie die .NET-Beispielmethode EndSynchronizationTable.
using iAnywhere.MobiLink.Script; namespace TestScripts { public class ExampleClass { DBConnectionContext _cc = null; ExampleClass( DBConnectionContext cc ) { _cc = cc; } public void EndSynchronizationTable() { DBConnection conn = _cc.GetConnection(); try { DBCommand cmd = conn.CreateCommand(); try { cmd.CommandText = "DROP TABLE #sales_order"; cmd.Prepare(); cmd.ExecuteNonQuery(); } finally { cmd.Close(); } } finally { conn.Close(); } } } } |
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |