所有脚本均可手动执行。对于 SQL Anywhere 客户端,使用 sync_get_next_passthrough_script 和 sync_execute_next_passthrough_script 函数手动执行脚本。
sync_get_next_passthrough_script 函数不带有任何参数,并返回要执行的下一脚本的 run_order。然后,可以通过查询 dbo.sync_passthrough_script 表来找到该脚本。
dbo.sync_passthrough_script 表的定义如下:
列名 | 说明 |
---|---|
run_order |
INTEGER。run_order 参数决定脚本在远程数据库上的应用顺序。脚本始终根据 run_order 按顺序应用。 其值必须是非负整数。 |
script_id |
INTEGER。该值唯一标识脚本。 |
script_name |
VARCHAR(128)。脚本的名称。此列对应于在统一数据库上调用 ml_add_passthrough_script 时为脚本指定的 script_name 值。 |
flags |
BIGINT。flags 列包含传递到 ml_add_passthrough_script 存储过程的 flags 参数中所指定的信息。通过将每个指定的标记转换为以下值,并使用 OR 运算符将结果值组合起来,可将指定的这些标记编码为一个整数。
|
affected_pubs |
LONG VARCHAR。脚本运行前必须进行同步的发布列表。此列对应于调用 ml_add_passthrough_script 时为脚本指定的 affected_pubs 值。 |
script |
LONG VARCHAR。直通脚本的内容。此列对应于调用 ml_add_passthrough_script 时为脚本指定的 script 值。 |
description |
VARCHAR(2000)。脚本的注释或说明。此列对应于调用 ml_add_passthrough_script 时为脚本指定的 description 值。 |
如果没有其它要执行的脚本,或执行的上一脚本生成了错误并且未从服务器收到有关如何继续的说明,则 sync_get_next_passthrough_script 函数会返回空值。
sync_execute_next_passthrough_script 函数不带任何参数。此函数执行下一个脚本并更新数据库中的进度和状态信息,以便可在稍后将脚本的结果上载到统一数据库。如果上一个脚本返回一个错误,并且未从 MobiLink 服务器收到有关如何处理该错误的说明,则不会执行任何脚本。如果执行了某个脚本,则会返回该脚本的运行顺序。如果未执行任何脚本,则返回空值。请参见获取脚本结果。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |