要实现脚本式上载,需要创建通过返回特定(即包含要更新、插入或删除的行)的结果集来定义上载的存储过程。
调用这些存储过程时,会创建名为 #hook_dict 的临时表,该表有两列:名称和值。该表用于将名称值配对传送到存储过程。存储过程从此表中检索有用信息。
为确保存储过程能够访问 #hook_dict 表,存储过程必须满足以下要求之一:
由具有 SELECT ANY TABLE 和 UPDATE ANY TABLE 系统特权的用户拥有。
使用 CREATE PROCEDURE 语句的 SQL SECURITY INVOKER 子句创建。
下面的名称值配对已定义:
名称 | 值 | 说明 |
---|---|---|
start progress |
字符串形式的时间戳 | 远程数据库上上载完所有更改的截止时间。上载应只反映此时间后发生的操作。 |
raw start progress |
64 位无符号整数 | 以无符号的整数形式表示的开始进度。 |
end progress |
字符串形式的时间戳 | 上载时间段的结束时间。上载应只反映此时间前发生的操作。 |
raw end progress | 64 位无符号整数 | 以无符号的整数形式表示的结束进度。 |
generating download exclusion list |
true|false | 如果同步是仅下载或基于文件的同步,则为 True。在此类情况下,不发送任何上载,并且如果下载会影响到脚本式上载存储过程选择的任何行,则不应用下载。(这样可确保需要上载的在远程数据库上所做的更改不会被下载覆盖。) |
subscription_n | 预订名称 | 正在进行同步的预订的名称,其中 n 是一个整数。每个正在同步的预订都有一个 subscription_n 条目。n 的编号从零开始。 |
publication_n |
发布名称 | 不建议使用。改用 subscription_n。正被同步的发布,其中 n 是一个整数。n 的编号从零开始。 |
script version | 版本名称 | 将用于同步的 MobiLink 脚本版本。 |
MobiLink user | MobiLink 用户名 | 您正在为其进行同步的 MobiLink 用户。 |
脚本式上载中的自定义进度值
插入存储过程
删除存储过程
更新存储过程
脚本式上载发布
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2013, SAP 股份公司或其关联公司. - SAP Sybase SQL Anywhere 16.0 |