Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » UltraLite - 数据库管理和参考 » UltraLite 数据库参考 » UltraLite 实用程序

 

UltraLite 同步实用程序 (ulsync)

将 UltraLite 数据库与 MobiLink 服务器同步。此工具可用于在应用程序开发中测试同步。

语法
ulsync -c "connection-string" [ options ]  [synchronization parameters { REPLACE | MERGE } profile-string ]
选项 说明
-c "connection-string" 必需。连接到 DBF 或 connection-string 的 file_name 参数所标识的数据库。如果未指定用户 ID 和口令,则会假定缺省 UID 为 DBA 且 PWD 为 sql
-oa 如果过程标识数据库由 UltraLite 的前一版本创建(将导致数据库升级),则将该过程取消。
-or

以只读模式同步数据库。UltraLite 会创建原始文件的副本,然后使用此副本测试脚本而不会变更数据库。完成后会放弃对复制文件的更改。

如果直接从桌面操作系统连接到已部署到 Windows Mobile 设备的数据库,则不支持此参数。

-ou 如果数据库由较旧版本的 UltraLite 创建,则升级数据库。
-p 使用已命名的同步配置文件同步等效于:
synchronize profileName merge 'syncOptions'
其中,同步选项从尾随 ulsync 选项中获取。例如:
ulsync -p profileName "MobiLinkUid=ml;ScriptVersion=Version001...syncOptions"

请参见同步配置文件选项

-q 将实用程序设置为在安静模式下运行。取消信息性标题、版本号和状态消息。但是,仍然会显示错误消息。
-r 显示上次同步的结果,然后退出。
-s 同步之后运行可用的 SQL 直通脚本。
-v 显示同步进度消息。还可以确定是否为任何同步显示进度,是否使用 C++ API 或 SQL 同步配置文件语句。请参见UltraLite CREATE SYNCHRONIZATION PROFILE 语句
注释

不再支持以下选项(它们对于版本 10 及更旧版本有效):-a authenticate-parameters-e sync-parms-k stream-type-n(不同步)和 -x protocol options-e <keyword>=<value> 目前是同步参数字符串的一部分,并且 -k-x 已包含于 Stream=<stream{<stream-parms>} 同步参数字符串。

根据用法,ulsync 被视为等效于以下 SQL 语句之一:

ulsync -p <profile> "<parms>"

等效于:

 SYNCHRONIZE PROFILE <profile> MERGE
<parms>

ulsync "<parms>"

等效于:

 SYNCHRONIZE USING <parms>

为了安全同步,UltraLite 应用程序必须已经访问了公共证书。可通过以下方法参考证书:

  • 在创建时,使用 ulinit、ulload 或 ulcreate,通过 -t file 选项将证书信息加入到 UltraLite 数据库中。

  • 在同步时通过 trusted_certificates=file 流选项参考外部证书文件。

此实用程序会返回错误代码。除 0 之外的任何值均意味着操作失败。

另请参见
示例

以下命令为名为一个 remoteA 的 MobiLink 用户同步一份名为 myuldb.udb 的数据库文件。

ulsync -c DBF=myuldb.udb "MobiLinkUid=remoteA;Stream=http;ScriptVersion=2"

以下命令通过带 c:\certs\rsa.crt 证书的 HTTPS 同步一份名为 myuldb.udb 的数据库文件。必须使用 trusted_certificates=file 选项,因为在创建数据库时,未将受信任证书文件添加到数据库。此外,MobiLink 用户名是 remoteB

ulsync -c DBF=myuldb.udb "Stream=https{trusted_certificates=c:\certs\rsa.crt};
MobiLinkUid=remoteB;ScriptVersion=2;UploadOnly=ON"

以下命令显示名为 synced.udb 的数据库文件的上一次同步的结果。

ulsync -r -c dbf=synced.udb

下面列出以前的同步结果:

SQL Anywhere UltraLite Database Synchronize Utility Version XX.X
    Results of last synchronization:
    Succeeded
        Download timestamp: 2006-07-25 16:39:36.708000
        Upload OK
        No ignored rows
        Partial download retained
        Authentication value: 1000 (0x3e8)

以下示例显示了在 2439 端口上,通过 TCP/IP,使用用户名 50 同步 CustDB 数据库的命令行。

ulsync -c "dbf=C:\Documents and Settings\All Users\Documents\SQL Anywhere 11\Samples\UltraLite\SyncEncrypt\custdb.udb" 
MobiLinkUid=50;ScriptVersion=custdb 11.0;Stream=tcpip{port=2439}