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 卸载旧数据库实用程序 (ulunload)

根据所使用的选项,卸载以下内容:

语法
ulunload -c "connection-string" [ options ] output-file
选项 说明
-b max-size 设置要存储到 XML 文件中的列数据的最大大小。缺省值为 10 KB。要将所有数据存储到 XML 文件(无最大大小)中,使用 -b -1
-c "connection-string" 必需。连接到 DBF 或 connection-string 的 file_name 参数所标识的数据库。如果未指定用户 ID 和口令,则会假定缺省 UID 为 DBA 且 PWD 为 sql
-d

只将数据库中的数据卸载到输出文件中。不卸载任何模式信息。

-e table, ...

卸载数据库时排除已命名 table。可在以逗号分隔的列表中指定多个表。例如:

-e mydbtable1,mydbtable5
-f directory

将存储数据的目录设置为大于由 -b 指定的最大大小。缺省情况下与输出文件的目录相同。

-n 只卸载模式,忽略数据库中的所有数据。
-oa 如果过程标识数据库由 UltraLite 的前一版本创建(将导致数据库升级),则将该过程取消。
-or

以只读模式打开数据库。UltraLite 备份了原始文件并使用副本进行卸载。这可以确保使用软件早期版本创建的数据库不会被升级。

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

-ou 如果数据库由较旧版本的 UltraLite 创建,则升级数据库。
-q 将实用程序设置为在安静模式下运行。取消信息性标题、版本号和状态消息。但是,仍然会显示错误消息。
-s 作为与 SQL Anywhere 兼容的 SQL 语句卸载。SQL 文件输出可使用 DBISQL,由 UltraLite 或 SQL Anywhere 来读取。
-t table, ...

只卸载指定的 table 中的数据。可在以逗号分隔的列表中指定多个表。例如:

-t mydbtable2,mydbtable6
-v 打印详细消息。
-x owner 输出表,以使这些表由特定用户 ID 拥有。可以将此选项与 -s 选项一起使用。
-y 覆盖 output-file 而无需确认。
output-file 必需。设置数据库将卸载到的文件的名称。如果使用 -s 选项,数据库将卸载为 SQL 语句。否则,数据库将卸载为 XML。
注释

缺省情况下,ulunload 将输出描述数据库中的模式和数据的 XML。可将此输出用于归档目的,或用于保持 UltraLite 数据库在所有版本之间的可移植性。

将带同步配置文件结果的数据库保存到与 UltraLite 实用程序的早期版本不兼容的 XML 中。解决方案是编辑 XML 并移除文本区段,该文本区段标记为

<syncprofiles>...</syncprofiles>

卸载数据库不会保留:

  • 同步状态、存储的同步计数和行删除。请确保在卸载之前同步数据库。

  • UltraLite 用户条目。

要确认保留了哪些数据库选项或属性,请在使用 ulload 实用程序重装数据库以后运行 ulinfo。

如果列数据超过用 -b 指定的最大大小,溢出将保存在一个 *.bin 文件中,该文件位于:

该文件遵循以下命名约定:

tablename-columname-rownumber.bin

-x 选项允许您为 UltraLite 表指派所有权。如果打算使用结果 SQL 语句创建或修改 SQL Anywhere 数据库,只需要为表指派一个所有者。由 UltraLite 读取时,所有者名称以静默方式被忽略。

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

如果正在使用此实用程序直接卸载 Windows Mobile 设备上的数据库,则 UltraLite 在卸载或操作发生之前无法备份数据库。必须先手工执行此操作,然后才能运行这些向导。

另请参见
示例

sample.udb 数据库卸载到 sample.xml 文件中。

ulunload -c DBF=sample.udb sample.xml

sample.udb 数据库中的数据卸载到名为 sample1.sql 的 SQL 文件中。如果 SQL 文件存在,则将其覆盖。

ulunload -c DBF=sample.udb -d -y sample.sql