现在您可以进行第一次远程客户端同步了。可以使用 MobiLink 客户端程序 dbmlsync 来完成这一过程。Dbmlsync 将连接到远程数据库、通过 MobiLink 服务器对自身进行验证,并根据远程数据库中的发布执行要同步远程数据库和统一数据库所必需的所有上载和下载。
在命令提示符处,运行以下命令(全部内容都输入到一行上):
dbmlsync -c "eng=remote_eng;dbn=remote_db;uid=DBA;pwd=sql;" -n sync_ase_publication -u ase_remote -mp ase_pass |
dbmlsync 是同步应用程序。
eng=remote_eng 用于指定远程数据库服务器的名称。
dbn=remote_db 用于指定远程数据库的名称。
uid 是用于连接到远程数据库的用户名。
pwd 是用于连接到远程数据库的口令。
sync_ase_publication 是远程设备上的发布名称,此发布用于执行同步。(此发布由 [创建同步模型向导] 创建。)
ase_remote 是使用 MobiLink 服务器进行验证时所用的用户名。
ase_pass 是使用 MobiLink 服务器进行验证时所用的口令。
同步的进度显示在 [SQL Anywhere MobiLink 客户端消息] 窗口中。上述命令成功运行后,dbmlsync 应用程序将使用统一数据库中的信息子集填充远程数据库。
如果同步失败,则检查传递给 dbmlsync 应用程序的连接信息以及 MobiLink 用户名和口令。如果问题仍存在,则检查所使用的发布名,并确保统一数据库和 MobiLink 服务器正在运行。您也可以检查同步日志的内容(服务器和客户端)。
如果要在 MobiLink 服务器以外的计算机上运行 dbmlsync 应用程序,还必须传递用于指定 MobiLink 服务器位置的参数。
在使用 MobiLink 服务器将远程客户端与统一数据库成功同步后,远程数据现在应该包含有关某一书店的信息。在 Sybase Central 中,您可以使用 SQL Anywhere 11 插件来验证这一点。
启动 Sybase Central。
连接到远程数据库:
在左窗格中,右击 [SQL Anywhere 11] 并选择 [连接]。
键入 DBA 作为 [用户 ID],相应的 [口令] 为 sql。
在 [标识] 选项卡中,键入 remote_eng 作为 [服务器名],而 [数据库名] 为 remote_db。
单击 [确定]。
如果从统一数据库创建的表不可见,请执行以下步骤:
右击 remote_db,然后单击 [配置所有者过滤]。
选择 [dbo],然后单击 [确定]。
从统一数据库创建的表将出现在左窗格中。dbo 对这些表的所有权保存在远程数据库中。
选择任意远程表,然后在右窗格中单击 [数据] 选项卡。
在 sales、salesdetail 和 stores 表中,所有记录都是关于标识符为 5023 的书店的。此特定书店不关注其它书店的销售信息。为此,需要设置同步脚本按照远程 ID 来过滤出相应的行,并需要将此数据库的远程 ID 设置为某特定书店的标识符值。这样可使该特定书店的数据库所占的空间更小,并且同步时间也更少。正是由于远程数据库的大小始终维持在最低水平,某些经常执行的操作(如输入新的销售记录或处理之前销售的退款)才能运行得更快,效率更高。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |