若要部署 SQL Anywhere 远程数据库,需要创建数据库并添加相应的发布和预订。要执行此操作,可以对某个原型远程数据库进行自定义。
将启动数据库部署到多个位置时,最安全的方法是部署远程 ID 为 NULL 的数据库。如果已通过同步将数据库进行了预填充,可先将远程 ID 的设置恢复为 NULL,然后再进行部署。此方法确保了远程 ID 的唯一性,因为远程数据库首次进行同步时系统会为其指派唯一的远程 ID。也可以将远程 ID 作为一个远程设置步骤来进行设置,但它必须是唯一的。
请参见设置远程 ID。
创建原型远程数据库。
原型数据库应包含所需的全部表和发布,但不包含特定于每个数据库的数据。这些信息通常包含以下内容:
MobiLink 用户名。
同步预订。
为全局自动增量键值提供起始值的 global_database_id 选项。
对于每个远程数据库,执行以下操作:
创建一个存放远程数据库的目录。
将原型远程数据库复制到该目录下。
如果事务日志保存在远程数据库所在的目录,则无需更改日志文件名。
运行 SQL 脚本,将单独的信息添加到该数据库。
该 SQL 脚本可以是参数化脚本。有关参数化脚本的信息,请参见PARAMETERS 语句 [Interactive SQL]和使用 SQL 命令文件。
当您使用 [创建同步模型向导] 创建 MobiLink 客户端应用程序时,您可以使用向导来部署数据库。请参见部署模型。
以下 SQL 脚本是从 Contact 示例中抽取的。可以在 samples-dir\MobiLink\Contact\customize.sql 中找到它。(有关 samples-dir 的信息,请参见示例目录。)
PARAMETERS ml_userid, db_id; go SET OPTION PUBLIC.global_database_id = {db_id} go CREATE SYNCHRONIZATION USER {ml_userid} TYPE 'TCPIP' ADDRESS 'host=localhost;port=2439' OPTION MEM='' go CREATE SYNCHRONIZATION SUBSCRIPTION TO "DBA"."Product" FOR {ml_userid} go CREATE SYNCHRONIZATION SUBSCRIPTION TO "DBA"."Contact" FOR {ml_userid} go commit work go |
以下命令对数据源是 dsn_remote_1 的远程数据库执行该脚本:
dbisql -c "dsn=dsn_remote_1" read customize.sql [SSinger] [2] |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |