将 UltraLite 数据库与 MobiLink 服务器同步。此工具可用于在应用程序开发中测试同步。
ulsync -c [ options ] [synchronization parameters]
选项 | 说明 | ||||
---|---|---|---|---|---|
@data | 此选项用于从指定的环境变量或配置文件中读入选项。如果存在具有相同名称的环境变量和配置文件,则使用环境变量。 请参见配置文件。 | ||||
-c "connection-string" | 必需。连接到 DBF 或 connection-string 的 file_name 参数所标识的数据库。如果未指定用户 ID 和口令,则会假定缺省 UID 为 DBA 且 PWD 为 sql。 | ||||
--log | 将操作记录到指定文件中。 | ||||
-p profile-name 或 --profile=profile |
使用已命名的同步配置文件同步等效于:
其中,同步选项从尾随 ulsync 选项中获取。例如:
请参见同步配置文件选项。 |
||||
-q 或 --quiet |
将实用程序设置为在安静模式下运行。取消信息性标题、版本号和状态消息。但是,仍然会显示错误消息。 | ||||
-r 或 --result |
显示上次同步的结果,然后退出。 | ||||
-v 或 --verbose |
显示同步进度消息。还可以确定是否为任何同步显示进度,是否使用 C++ API 或 SQL SYNCHRONIZE PROFILE 语句。 请参见CREATE SYNCHRONIZATION PROFILE 语句 [UltraLite]。 |
当使用 trusted_certificate 或 e2ee_public_key 选项指定了证书文件时,UltraLite 运行时将仅在主资源软件包中查找这些文件。该软件包是每个 iPhone 应用程序部署软件包的一部分。通过将项目包含在 Xcode 项目的 /Resources 文件夹中可将它们添加到此软件包。这不适用于存储在 Ultralite 数据库中且不会影响 Mac OS 客户端的证书(仅限 iPhone)。请参见trusted_certificate和e2ee_type。
不再支持以下选项(它们对于版本 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 通过 -t file 选项将证书信息加入到 UltraLite 数据库中。
在同步时通过 trusted_certificate=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_certificate=file 选项,因为在创建数据库时,未将受信任证书文件添加到数据库。此外,MobiLink 用户名是 remoteB。
ulsync -c DBF=myuldb.udb "Stream=https{trusted_certificate=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 12\Samples\UltraLite\SyncEncrypt\custdb.udb" "MobiLinkUid=50;ScriptVersion=custdb 12.0;Stream=tcpip{port=2439}" |
以下命令说明了如何将 TLS 加密与 E2EE 配合使用:
ulsync -c "uid=dba;pwd=sql;dbf=myudb.db" "MobiLinkUid=rem1;MobiLinkPwd=password;ScriptVersion=v1;Stream=tls{host=myServer;port=2439;trusted_certificate=c:\clientcert.pem;e2ee_type=rsa;e2ee_public_key=c:\e2eepublic.pem}" |
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |