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

SAP Sybase SQL Anywhere 16.0 (中文) » SQL Anywhere 服务器 - 数据库管理 » SQL Anywhere 数据库连接 » SQL Anywhere for Windows Mobile » Windows Mobile 数据库配置 » 在 Windows Mobile 上重建数据库

 

在 Windows Mobile 上重建数据库

使用卸载 (dbunload) 和脚本执行 (dbrunsql) 实用程序在 Windows Mobile 上重建数据库。此重建方法在智能手机上不可用。不建议使用此方法,此方法需要的资源会超过某些设备的可用资源。建议在其它平台上重建数据库,然后将其复制到 Windows Mobile 设备。

前提条件

确保数据库未运行。确保在设备上未运行任何数据库服务器。

您必须具有 SELECT ANY TABLE 和 SERVER OPERATOR 系统特权。

注意

要在 Windows Mobile 设备上运行 dbunload,必须在 [部署 SQL Anywhere 16 for Windows Mobile 向导] 中选择 [卸载/重装支持] 选项。如果在首次安装 SQL Anywhere for Windows Mobile 时未选择该选项,则可通过修改 SQL Anywhere 安装来添加此支持。

上下文和注释

决定在 Windows Mobile 上使用 dbunload 之前,应考虑在 Windows Mobile 上使用 dbunload 产生的以下影响:

  • 数据库服务器临时文件的大小(卸载和重装都可能使此文件增至数兆字节)

  • dbunload 及相关组件所需的额外空间

  • 在 Windows Mobile 设备上具有多个数据库副本的额外开销

 任务
  1. 要在 Windows Mobile 设备上使用 dbunload,请确保:

    • 将以下文件部署到 SQL Anywhere 安装目录(缺省情况下为 \Program Files\SQLAny16):

      • dbsrv16.exe
      • dbsrv16.lic
      • dbunlspt.exe
      • dbunload.exe
      • dbrunsql.exe
    • 如果打算卸载旧数据库(版本 9 或更早版本)并包括 dbunlspt.exe,则将以下文件部署到 \Windows 目录。

      • scripts\optdeflt.sql
      • scripts\opttemp.sql
      • scripts\unloadold.sql
    • 将以下文件部署到 \Windows 目录:

      • dblgen16.dll
      • dblib16.dll
      • dbscript16.dll
      • dbtool16.dll
      • dbusen.dll
  2. 确保 Location 字符串值 (REG_SZ) 设置为以下注册表项中的 SQL Anywhere 软件目录:HKEY_LOCAL_MACHINE\SOFTWARE\Sybase\SQL Anywhere\16.0\

  3. 在 Windows Mobile 以外的其它平台上,创建一个新的空 SQL Anywhere 16 数据库。

    CHAR 归类序列应与现有数据库的相匹配。如果不需要 NCHAR UCA 排序,则 NCHAR 归类序列应为 UTF8BIN。通过这种方式,数据库服务器将不需要 ICU 库(dbicu16.dlldbicudt16.dat)。

  4. 将 SQL Anywhere 16 软件以及空 SQL Anywhere 数据库文件复制到 Windows Mobile 设备。

  5. 运行以下命令卸载数据库:

    dbunload-path\dbunload -c "UID=DBA;PWD=DBA-password;CHARSET=none;DBF=existing-database" unload-directory
  6. dbunload 命令完成后,关闭 dbunload 窗口。

  7. 运行以下命令以对空 SQL Anywhere 数据库文件运行 reload.sql 脚本文件:

    dbrunsql-path\dbrunsql -c "UID=DBA;PWD=sql;CHARSET=none;DBF=new-empty-SQLAnywhere16database-file" -g- \reload.sql
  8. dbrunsql 命令完成后,关闭 dbrunsql 窗口。

  9. 您可以从 Windows Mobile 设备中删除 reload.sql 文件和 unload-directory

结果

数据库已重建。

下一个

dbunload 和 dbrunsql 命令可用于第三方 Windows Mobile 应用程序,以便自动对最终用户执行该过程。如果选择执行此操作,那么您应考虑使用 -qc 和/或 -q dbunload 和 dbrunsql 选项,或者调用 dbtool16.dll 中的 DBUnload 函数。

 另请参见