MobiLink 使用同步脚本,提供了更灵活的同步数据规则。此脚本定义了:
如何将从远程数据库上载的数据应用到统一数据库。
应从统一数据库下载哪些数据。
有关编写同步脚本的详细信息,请参见编写同步脚本。
有关您可以为其编写脚本的事件的完整列表,请参见同步事件。
脚本的某些方面依赖于正在使用的 DBMS。在同与 ODBC 兼容的数据库的同步过程中,所需的脚本的种类由许多因素决定,这些因素包括但不局限于以下内容:
用户定义的过程
会话范围的连接变量
会话范围的变量提供了一种有效的存储值的方法,使得这些值在整个同步过程中始终可用。例如,在 begin_synchronization 脚本中将用户名存储到名为 UserName 的会话范围的变量中。在后面的脚本中,就可以任意多次引用 UserName。
自动增量方法
如果支持,您可以在 MobiLink 环境中使用自动增量维护唯一主键值。有关详细信息,请参见维护唯一主键。
有关各种类型统一数据库的特定信息,请参见相应章节:
将 MobiLink 用于受支持的数据库的一种策略是:使用 DBMS 版 SQL 语言编写表脚本和同步逻辑。将 MobiLink 用于任何受支持的统一数据库的另一种策略是:使用 Java 或 .NET 同步逻辑。使用 Java 或 .NET 同步逻辑时,可以设定会话范围的变量并创建用户定义的过程。
有关 Java 同步逻辑的信息,请参见编写 Java 同步逻辑。
有关 .NET 同步逻辑的信息,请参见使用 .NET 编写同步脚本。
有些数据库(如 Microsoft SQL Server)要求使用 ODBC 语法编写带有参数的过程调用。
{ CALL procedure_name( ?, ?, ... ) }您可以通过在过程定义中将参数定义为 OUT 或 INOUT 传递返回值。
在其它许多 DBMS 中,CHAR 数据类型长度固定并填充空白以达到字符串的全长。在 MobiLink 远程数据库(Adaptive Server Anywhere 或 UltraLite)中,CHAR 与 VARCHAR 相同:值不填充空白以达到固定宽度。在同步过程中可以使用 dbmlsrv9 -b 命令行选项删除字符串的尾随空白。此选项对于用于检测冲突的字符串比较尤为重要。
有关详细信息,请参见 -b 选项。
有关在 MobiLink 同步服务器与不是用 Adaptive Server Anywhere 创建的统一数据库通信时必须发生的数据转换的信息,请参见数据类型转换。
SQL Anywhere Studio 9.0.2
版权所有 © 1989–2005 Sybase, Inc. 部分版权所有 © 2001–2005 iAnywhere Solutions, Inc. 保留所有权利。