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

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - 数据库管理 » 启动并连接到数据库 » SQL Anywhere for Windows Mobile » 配置 Windows Mobile 数据库

 

在 Windows Mobile 上重建数据库

在 Windows Mobile 上重建数据库时,可采用以下方法:

  • 在另一个平台上重建 Windows Mobile 数据库,然后将该数据库复制到 Windows Mobile 设备。这是重建 Windows Mobile 数据库的推荐方法。

  • 使用 dbmlsync 重新填充空数据库。

  • 使用 dbremote 重新填充空数据库。

  • 在 Windows Mobile 设备上使用 dbunload。此方法在智能手机上不可用。

升级 Windows Mobile 数据库时,建议使用前三种方法。但是,如果这些方法对您不适用,则您可在 Windows Mobile 上使用 dbunload。决定在 Windows Mobile 上使用 dbunload 之前,应考虑在 Windows Mobile 上使用 dbunload 产生的以下影响:

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

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

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

因为在 Windows Mobile 设备上运行 dbunload 所需要的资源可能会比一些设备可用的资源更多,所以建议尽可能在其它平台上升级数据库。

注意

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

在 Windows Mobile 上使用 dbunload 的注意事项

要在 Windows Mobile 设备上使用 dbunload,请确保执行了以下任务:

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

    • dbsrv11.exe
    • dbunlspt.exe
    • dbunload.exe
    • dbrunsql.exe
  • 应将以下文件部署到 \Windows 目录:

    • dblgen11.dll
    • dblib11.dll
    • dbscript11.dll
    • dbtool11.dll
    • dbusen.dll
  • 应将以下注册表条目字符串值设置为 SQL Anywhere 软件目录:HKEY_LOCAL_MACHINE\SOFTWARE\Sybase\SQL Anywhere\11.0\Location

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

♦  卸载 Windows Mobile 上的数据库 (dbunload)
  1. 在 Windows Mobile 以外的其它平台上,创建一个新的空 SQL Anywhere 11 数据库。

    CHAR 归类序列应与现有数据库的相匹配。如果不需要 NCHAR UCA 排序,则 NCHAR 归类序列应为 UTF8BIN。这样,数据库服务器就不需要 ICU 库(dbicu11.dlldbicudt11.dll)。

  2. 将 SQL Anywhere 11 软件以及空 SQL Anywhere 11 数据库文件复制到 Windows Mobile 设备。请参见在 Windows Mobile 上使用 dbunload 的注意事项

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

  4. 运行以下命令:

    dbunload-path\dbunload -c "UID=DBA;PWD=DBA-password;CHARSET=none;DBF=existing-database" unload-directory
  5. 确保 dbunload 成功执行,然后关闭 dbunload 窗口。

  6. 运行以下命令:

    dbrunsql-path\dbrunsql -c "UID=DBA;PWD=sql;CHARSET=none;DBF=new-empty-SQLAnywhere11databasefile" -g- \reload.sql
  7. 确保 dbrunsql 成功执行,然后关闭 dbrunsql 窗口。

  8. 从 Windows Mobile 设备删除 reload.sql 文件和 unload-directory